From 411937a859a87599d9364c2548beafd6f9c6aeed Mon Sep 17 00:00:00 2001 From: francois branciard Date: Thu, 12 Apr 2018 21:35:47 +0200 Subject: [PATCH] optimized IexecHub to successfully deploy on testnets ropsten, kovan, rinkeby --- README.md | 8 +- build/contracts/App.json | 1494 + build/contracts/AppHub.json | 3578 ++ build/contracts/Dataset.json | 1494 + build/contracts/DatasetHub.json | 3578 ++ build/contracts/ERC20.json | 1799 + build/contracts/IexecAPI.json | 6464 +++ build/contracts/IexecCallbackInterface.json | 726 + build/contracts/IexecHub.json | 47295 ++++++++++++++++ build/contracts/IexecHubAccessor.json | 1135 + build/contracts/IexecHubInterface.json | 9476 ++++ build/contracts/IexecLib.json | 2093 + build/contracts/Marketplace.json | 12547 ++++ build/contracts/MarketplaceAccessor.json | 879 + build/contracts/MarketplaceInterface.json | 2041 + build/contracts/Migrations.json | 1399 + build/contracts/Ownable.json | 1010 + build/contracts/OwnableOZ.json | 1447 + build/contracts/RLC.json | 8723 +++ build/contracts/SafeMath.json | 4979 ++ build/contracts/SafeMathOZ.json | 5037 ++ build/contracts/TestSha.json | 2782 + build/contracts/TokenSpender.json | 394 + build/contracts/WorkOrder.json | 7540 +++ build/contracts/WorkerPool.json | 46776 +++++++++++++++ build/contracts/WorkerPoolHub.json | 5735 ++ contracts/IexecHub.sol | 51 +- contracts/WorkOrder.sol | 29 +- contracts/WorkerPool.sol | 9 +- migrations/2_deploy_contracts.js | 25 +- package.json | 2 +- test/00_base.js | 4 +- test/01_workerPoolCreation.js | 4 +- test/02_workerPoolSubscription.js | 4 +- test/03_appCreation.js | 4 +- test/04_createMarketOrderAsk.js | 4 +- test/05_buyForWorkOrder.js | 4 +- test/06_allowWorkerToContribute.js | 4 +- test/07_workerContribute.js | 4 +- test/07_workerContribute.sgx.js | 4 +- test/08_revealConsensus.js | 4 +- test/09_revealContribution.js | 4 +- test/10_finalizeWork.js | 4 +- test/10_finalizeWork.sgx.js | 4 +- test/byFunctions/App/App.js | 4 +- test/byFunctions/Dataset/Dataset.js | 4 +- test/byFunctions/IexecAPI/buyForWorkOrder.js | 4 +- .../byFunctions/IexecAPI/workOrderCallback.js | 4 +- .../byFunctions/IexecHub/attachMarketplace.js | 10 +- test/byFunctions/IexecHub/buyForWorkOrder.js | 4 +- test/byFunctions/IexecHub/createApp.js | 4 +- test/byFunctions/IexecHub/createCategory.js | 4 +- test/byFunctions/IexecHub/createDataset.js | 4 +- test/byFunctions/IexecHub/createWorkerPool.js | 4 +- test/byFunctions/IexecHub/existingCategory.js | 4 +- test/byFunctions/IexecHub/getCategory.js | 4 +- .../IexecHub/getCategoryWorkClockTimeRef.js | 4 +- test/byFunctions/IexecHub/internalChecks.js | 2 +- .../IexecHub/setCategoriesCreator.js | 2 +- test/byFunctions/IexecHub/withdraw.js | 4 +- .../Marketplace/closeMarketOrder.js | 4 +- .../Marketplace/consumeMarketOrderAsk.js | 4 +- .../Marketplace/createMarketOrder.js | 4 +- .../byFunctions/Marketplace/getMarketOrder.js | 4 +- .../Marketplace/getMarketOrderCategory.js | 4 +- .../Marketplace/getMarketOrderTrust.js | 4 +- test/byFunctions/WorkOrder/WorkOrder.js | 4 +- test/byFunctions/WorkerPool/WorkerPool.js | 4 +- .../WorkerPool/allowWorkerToContribute.js | 4 +- .../WorkerPool/allowWorkersToContribute.js | 4 +- .../WorkerPool/changeWorkerPoolPolicy.js | 4 +- .../WorkerPool/claimFailedConsensus.js | 9 +- test/byFunctions/WorkerPool/contribute.js | 4 +- test/byFunctions/WorkerPool/emitWorkOrder.js | 4 +- test/byFunctions/WorkerPool/evictWorker.js | 4 +- test/byFunctions/WorkerPool/finalizeWork.js | 10 +- test/byFunctions/WorkerPool/reopen.js | 6 +- test/byFunctions/WorkerPool/reveal.js | 7 +- .../byFunctions/WorkerPool/revealConsensus.js | 6 +- .../byFunctions/WorkerPool/subscribeToPool.js | 4 +- .../WorkerPool/unsubscribeFromPool.js | 4 +- .../WorkerPoolHub/createWorkerPool.js | 4 +- .../WorkerPoolHub/getWorkerPool.js | 4 +- .../WorkerPoolHub/getWorkerPoolsCount.js | 4 +- .../WorkerPoolHub/isWorkerPoolRegistered.js | 4 +- truffle-hdwallet.js | 182 +- truffle.js | 4 +- 87 files changed, 180782 insertions(+), 185 deletions(-) create mode 100644 build/contracts/App.json create mode 100644 build/contracts/AppHub.json create mode 100644 build/contracts/Dataset.json create mode 100644 build/contracts/DatasetHub.json create mode 100644 build/contracts/ERC20.json create mode 100644 build/contracts/IexecAPI.json create mode 100644 build/contracts/IexecCallbackInterface.json create mode 100644 build/contracts/IexecHub.json create mode 100644 build/contracts/IexecHubAccessor.json create mode 100644 build/contracts/IexecHubInterface.json create mode 100644 build/contracts/IexecLib.json create mode 100644 build/contracts/Marketplace.json create mode 100644 build/contracts/MarketplaceAccessor.json create mode 100644 build/contracts/MarketplaceInterface.json create mode 100644 build/contracts/Migrations.json create mode 100644 build/contracts/Ownable.json create mode 100644 build/contracts/OwnableOZ.json create mode 100644 build/contracts/RLC.json create mode 100644 build/contracts/SafeMath.json create mode 100644 build/contracts/SafeMathOZ.json create mode 100644 build/contracts/TestSha.json create mode 100644 build/contracts/TokenSpender.json create mode 100644 build/contracts/WorkOrder.json create mode 100644 build/contracts/WorkerPool.json create mode 100644 build/contracts/WorkerPoolHub.json diff --git a/README.md b/README.md index 2de62dce..7147946f 100644 --- a/README.md +++ b/README.md @@ -494,7 +494,7 @@ or ``` coverage : 12/04/2018 -180 passing (13m) +180 passing (12m) 1 pending -----------------------------|----------|----------|----------|----------|----------------| @@ -507,7 +507,7 @@ Dataset.sol | 100 | 50 | 100 | 100 | DatasetHub.sol | 100 | 100 | 100 | 100 | | IexecAPI.sol | 100 | 50 | 100 | 100 | | IexecCallbackInterface.sol | 100 | 100 | 100 | 100 | | -IexecHub.sol | 100 | 69.83 | 100 | 100 | | +IexecHub.sol | 100 | 70.54 | 100 | 100 | | IexecHubAccessor.sol | 100 | 75 | 100 | 100 | | IexecHubInterface.sol | 100 | 100 | 100 | 100 | | IexecLib.sol | 100 | 100 | 100 | 100 | | @@ -517,11 +517,11 @@ MarketplaceInterface.sol | 100 | 100 | 100 | 100 | OwnableOZ.sol | 100 | 75 | 100 | 100 | | SafeMathOZ.sol | 100 | 75 | 100 | 100 | | TestSha.sol | 100 | 100 | 100 | 100 | | -WorkOrder.sol | 100 | 62.5 | 100 | 100 | | +WorkOrder.sol | 100 | 60 | 100 | 100 | | WorkerPool.sol | 100 | 82.69 | 100 | 100 | | WorkerPoolHub.sol | 100 | 75 | 100 | 100 | | -----------------------------|----------|----------|----------|----------|----------------| All files | 100 | 75.16 | 100 | 100 | | -----------------------------|----------|----------|----------|----------|----------------| - +``` ## Oyente analyse see [here](./oyente) diff --git a/build/contracts/App.json b/build/contracts/App.json new file mode 100644 index 00000000..0aa4531f --- /dev/null +++ b/build/contracts/App.json @@ -0,0 +1,1494 @@ +{ + "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": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "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": "0x6060604052341561000f57600080fd5b60405161059a38038061059a83398101604052808051919060200180518201919060200180519190602001805160008054600160a060020a03191633600160a060020a03908116919091179091559201918591508116151561007057600080fd5b60018054600160a060020a03928316600160a060020a031991821681179092556002805490911690911790553281163390911614156100ae57600080fd5b6100c4326401000000006102a16100fa82021704565b60038380516100d7929160200190610188565b50600482905560058180516100f0929160200190610188565b5050505050610223565b60005433600160a060020a0390811691161461011557600080fd5b600160a060020a038116151561012a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101c957805160ff19168380011785556101f6565b828001600101855582156101f6579182015b828111156101f65782518255916020019190600101906101db565b50610202929150610206565b5090565b61022091905b80821115610202576000815560010161020c565b90565b610368806102326000396000f30060606040526004361061006c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166326137e6b8114610071578063358982a31461009657806388fc56c014610120578063deff41c114610133578063f2fde38b14610162575b600080fd5b341561007c57600080fd5b610084610183565b60405190815260200160405180910390f35b34156100a157600080fd5b6100a9610189565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100e55780820151838201526020016100cd565b50505050905090810190601f1680156101125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561012b57600080fd5b6100a9610227565b341561013e57600080fd5b610146610292565b604051600160a060020a03909116815260200160405180910390f35b341561016d57600080fd5b610181600160a060020a03600435166102a1565b005b60045481565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561021f5780601f106101f45761010080835404028352916020019161021f565b820191906000526020600020905b81548152906001019060200180831161020257829003601f168201915b505050505081565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561021f5780601f106101f45761010080835404028352916020019161021f565b600054600160a060020a031681565b60005433600160a060020a039081169116146102bc57600080fd5b600160a060020a03811615156102d157600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582048711f539b044952cd5b9f01b2666251a6d74f4ea5dbf92d63b89c49e93261340029", + "deployedBytecode": "0x60606040526004361061006c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166326137e6b8114610071578063358982a31461009657806388fc56c014610120578063deff41c114610133578063f2fde38b14610162575b600080fd5b341561007c57600080fd5b610084610183565b60405190815260200160405180910390f35b34156100a157600080fd5b6100a9610189565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100e55780820151838201526020016100cd565b50505050905090810190601f1680156101125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561012b57600080fd5b6100a9610227565b341561013e57600080fd5b610146610292565b604051600160a060020a03909116815260200160405180910390f35b341561016d57600080fd5b610181600160a060020a03600435166102a1565b005b60045481565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561021f5780601f106101f45761010080835404028352916020019161021f565b820191906000526020600020905b81548152906001019060200180831161020257829003601f168201915b505050505081565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561021f5780601f106101f45761010080835404028352916020019161021f565b600054600160a060020a031681565b60005433600160a060020a039081169116146102bc57600080fd5b600160a060020a03811615156102d157600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582048711f539b044952cd5b9f01b2666251a6d74f4ea5dbf92d63b89c49e93261340029", + "sourceMap": "86:586:0:-;;;285:382;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:7:14;:20;;-1:-1:-1;;;;;;637:20:14;647:10;-1:-1:-1;;;;;637:20:14;;;;;;;;;;285:382:0;;;408:16;;-1:-1:-1;334:30:7;;;;326:39;;;;;;369:15;:36;;-1:-1:-1;;;;;369:36:7;;;-1:-1:-1;;;;;;369:36:7;;;;;;;;409:17;:55;;;;;;;;;;501:9:0;:23;;514:10;501:23;;;;;493:32;;;;;;529:28;547:9;529:17;;;;;;:28;:::i;:::-;585:9;599:8;;585:22;;;;;;;;:::i;:::-;-1:-1:-1;611:10:0;:23;;;638:11;652:10;;638:24;;;;;;;;:::i;:::-;;285:382;;;;86:586;;818:176:14;472:7;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;894:23:14;;;;886:32;;;;;;948:7;;-1:-1:-1;;;;;927:40:14;;;;948:7;927:40;;;;;;;;;;971:7;:19;;-1:-1:-1;;;;;;971:19:14;-1:-1:-1;;;;;971:19:14;;;;;;;;;;818:176::o;86:586:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;86:586:0;;;-1:-1:-1;86:586:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "86:586: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;;;;;;;;;;;;238:22:14;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:22:14;;;;;;;;;;;;;;;818:176;;;;;;;;;;;;-1:-1:-1;;;;;818:176:14;;;;;189:31:0;;;;:::o;156:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;223:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:22:14;;;-1:-1:-1;;;;;238:22:14;;:::o;818:176::-;472:7;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;894:23:14;;;;886:32;;;;;;948:7;;-1:-1:-1;;;;;927:40:14;;;;948:7;927:40;;;;;;;;;;971:7;:19;;-1:-1:-1;;971:19:14;-1:-1:-1;;;;;971:19:14;;;;;;;;;;818:176::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\ttransferOwnership(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": 3509, + "src": "26:25:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 3, + "nodeType": "ImportDirective", + "scope": 55, + "sourceUnit": 2362, + "src": "52:32:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 4, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "102:9:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 5, + "nodeType": "InheritanceSpecifier", + "src": "102:9:0" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2361, + "src": "113:16:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2361", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 7, + "nodeType": "InheritanceSpecifier", + "src": "113:16:0" + } + ], + "contractDependencies": [ + 2361, + 3508 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 54, + "linearizedBaseContracts": [ + 54, + 2361, + 3508 + ], + "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:232: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": 6709, + "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": 6699, + "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": 6702, + "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": 6709, + "src": "547: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": "547:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35, + "name": "transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3507, + "src": "529:17: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:28:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 39, + "nodeType": "ExpressionStatement", + "src": "529:28: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": "585: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": "599:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "585:22:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 43, + "nodeType": "ExpressionStatement", + "src": "585: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": "611:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 45, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "625:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "611:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 47, + "nodeType": "ExpressionStatement", + "src": "611: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": "638: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": "652:10:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "638:24:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 51, + "nodeType": "ExpressionStatement", + "src": "638: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": 2361, + "src": "391:16:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2361_$", + "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:382:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 55, + "src": "86:586:0" + } + ], + "src": "0:673: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": 3509, + "src": "26:25:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 3, + "nodeType": "ImportDirective", + "scope": 55, + "sourceUnit": 2362, + "src": "52:32:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 4, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "102:9:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 5, + "nodeType": "InheritanceSpecifier", + "src": "102:9:0" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2361, + "src": "113:16:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2361", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 7, + "nodeType": "InheritanceSpecifier", + "src": "113:16:0" + } + ], + "contractDependencies": [ + 2361, + 3508 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 54, + "linearizedBaseContracts": [ + 54, + 2361, + 3508 + ], + "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:232: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": 6709, + "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": 6699, + "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": 6702, + "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": 6709, + "src": "547: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": "547:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35, + "name": "transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3507, + "src": "529:17: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:28:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 39, + "nodeType": "ExpressionStatement", + "src": "529:28: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": "585: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": "599:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "585:22:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 43, + "nodeType": "ExpressionStatement", + "src": "585: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": "611:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 45, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "625:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "611:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 47, + "nodeType": "ExpressionStatement", + "src": "611: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": "638: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": "652:10:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "638:24:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 51, + "nodeType": "ExpressionStatement", + "src": "638: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": 2361, + "src": "391:16:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2361_$", + "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:382:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 55, + "src": "86:586:0" + } + ], + "src": "0:673:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T18:32:30.782Z" +} \ No newline at end of file diff --git a/build/contracts/AppHub.json b/build/contracts/AppHub.json new file mode 100644 index 00000000..9f74da48 --- /dev/null +++ b/build/contracts/AppHub.json @@ -0,0 +1,3578 @@ +{ + "contractName": "AppHub", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "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": "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": 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": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a0319909116179055610abb8061003b6000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633a911d30811461007c5780638403be91146100ad578063baebcaf0146100e0578063deff41c11461011e578063f2fde38b14610131578063fc06a87714610152575b600080fd5b341561008757600080fd5b61009b600160a060020a03600435166101ee565b60405190815260200160405180910390f35b34156100b857600080fd5b6100cc600160a060020a0360043516610209565b604051901515815260200160405180910390f35b34156100eb57600080fd5b610102600160a060020a0360043516602435610227565b604051600160a060020a03909116815260200160405180910390f35b341561012957600080fd5b61010261024f565b341561013c57600080fd5b610150600160a060020a036004351661025e565b005b341561015d57600080fd5b61010260046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506102f995505050505050565b600160a060020a031660009081526001602052604090205490565b600160a060020a031660009081526003602052604090205460ff1690565b600160a060020a03918216600090815260026020908152604080832093835292905220541690565b600054600160a060020a031681565b60005433600160a060020a0390811691161461027957600080fd5b600160a060020a038116151561028e57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054819033600160a060020a0390811691161461031757600080fd5b338585856103236104e5565b600160a060020a038516815260408101839052608060208201818152906060830190830186818151815260200191508051906020019080838360005b8381101561037757808201518382015260200161035f565b50505050905090810190601f1680156103a45780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156103da5780820151838201526020016103c2565b50505050905090810190601f1680156104075780820380516001836020036101000a031916815260200191505b509650505050505050604051809103906000f080151561042657600080fd5b9050610432328261043a565b949350505050565b600160a060020a03821660009081526001602081905260408220546104649163ffffffff6104cf16565b600160a060020a03938416600090815260016020818152604080842085905560028252808420948452938152838320805473ffffffffffffffffffffffffffffffffffffffff1916969097169586179096559381526003909452909220805460ff1916909117905550565b6000828201838110156104de57fe5b9392505050565b60405161059a806104f68339019056006060604052341561000f57600080fd5b60405161059a38038061059a83398101604052808051919060200180518201919060200180519190602001805160008054600160a060020a03191633600160a060020a03908116919091179091559201918591508116151561007057600080fd5b60018054600160a060020a03928316600160a060020a031991821681179092556002805490911690911790553281163390911614156100ae57600080fd5b6100c4326401000000006102a16100fa82021704565b60038380516100d7929160200190610188565b50600482905560058180516100f0929160200190610188565b5050505050610223565b60005433600160a060020a0390811691161461011557600080fd5b600160a060020a038116151561012a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101c957805160ff19168380011785556101f6565b828001600101855582156101f6579182015b828111156101f65782518255916020019190600101906101db565b50610202929150610206565b5090565b61022091905b80821115610202576000815560010161020c565b90565b610368806102326000396000f30060606040526004361061006c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166326137e6b8114610071578063358982a31461009657806388fc56c014610120578063deff41c114610133578063f2fde38b14610162575b600080fd5b341561007c57600080fd5b610084610183565b60405190815260200160405180910390f35b34156100a157600080fd5b6100a9610189565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100e55780820151838201526020016100cd565b50505050905090810190601f1680156101125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561012b57600080fd5b6100a9610227565b341561013e57600080fd5b610146610292565b604051600160a060020a03909116815260200160405180910390f35b341561016d57600080fd5b610181600160a060020a03600435166102a1565b005b60045481565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561021f5780601f106101f45761010080835404028352916020019161021f565b820191906000526020600020905b81548152906001019060200180831161020257829003601f168201915b505050505081565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561021f5780601f106101f45761010080835404028352916020019161021f565b600054600160a060020a031681565b60005433600160a060020a039081169116146102bc57600080fd5b600160a060020a03811615156102d157600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582048711f539b044952cd5b9f01b2666251a6d74f4ea5dbf92d63b89c49e93261340029a165627a7a723058205f32a1714b2e5494daeea368d6857bad51a46fb38d37917075cf5e9c8665baaa0029", + "deployedBytecode": "0x6060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633a911d30811461007c5780638403be91146100ad578063baebcaf0146100e0578063deff41c11461011e578063f2fde38b14610131578063fc06a87714610152575b600080fd5b341561008757600080fd5b61009b600160a060020a03600435166101ee565b60405190815260200160405180910390f35b34156100b857600080fd5b6100cc600160a060020a0360043516610209565b604051901515815260200160405180910390f35b34156100eb57600080fd5b610102600160a060020a0360043516602435610227565b604051600160a060020a03909116815260200160405180910390f35b341561012957600080fd5b61010261024f565b341561013c57600080fd5b610150600160a060020a036004351661025e565b005b341561015d57600080fd5b61010260046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506102f995505050505050565b600160a060020a031660009081526001602052604090205490565b600160a060020a031660009081526003602052604090205460ff1690565b600160a060020a03918216600090815260026020908152604080832093835292905220541690565b600054600160a060020a031681565b60005433600160a060020a0390811691161461027957600080fd5b600160a060020a038116151561028e57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054819033600160a060020a0390811691161461031757600080fd5b338585856103236104e5565b600160a060020a038516815260408101839052608060208201818152906060830190830186818151815260200191508051906020019080838360005b8381101561037757808201518382015260200161035f565b50505050905090810190601f1680156103a45780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156103da5780820151838201526020016103c2565b50505050905090810190601f1680156104075780820380516001836020036101000a031916815260200191505b509650505050505050604051809103906000f080151561042657600080fd5b9050610432328261043a565b949350505050565b600160a060020a03821660009081526001602081905260408220546104649163ffffffff6104cf16565b600160a060020a03938416600090815260016020818152604080842085905560028252808420948452938152838320805473ffffffffffffffffffffffffffffffffffffffff1916969097169586179096559381526003909452909220805460ff1916909117905550565b6000828201838110156104de57fe5b9392505050565b60405161059a806104f68339019056006060604052341561000f57600080fd5b60405161059a38038061059a83398101604052808051919060200180518201919060200180519190602001805160008054600160a060020a03191633600160a060020a03908116919091179091559201918591508116151561007057600080fd5b60018054600160a060020a03928316600160a060020a031991821681179092556002805490911690911790553281163390911614156100ae57600080fd5b6100c4326401000000006102a16100fa82021704565b60038380516100d7929160200190610188565b50600482905560058180516100f0929160200190610188565b5050505050610223565b60005433600160a060020a0390811691161461011557600080fd5b600160a060020a038116151561012a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101c957805160ff19168380011785556101f6565b828001600101855582156101f6579182015b828111156101f65782518255916020019190600101906101db565b50610202929150610206565b5090565b61022091905b80821115610202576000815560010161020c565b90565b610368806102326000396000f30060606040526004361061006c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166326137e6b8114610071578063358982a31461009657806388fc56c014610120578063deff41c114610133578063f2fde38b14610162575b600080fd5b341561007c57600080fd5b610084610183565b60405190815260200160405180910390f35b34156100a157600080fd5b6100a9610189565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100e55780820151838201526020016100cd565b50505050905090810190601f1680156101125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561012b57600080fd5b6100a9610227565b341561013e57600080fd5b610146610292565b604051600160a060020a03909116815260200160405180910390f35b341561016d57600080fd5b610181600160a060020a03600435166102a1565b005b60045481565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561021f5780601f106101f45761010080835404028352916020019161021f565b820191906000526020600020905b81548152906001019060200180831161020257829003601f168201915b505050505081565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561021f5780601f106101f45761010080835404028352916020019161021f565b600054600160a060020a031681565b60005433600160a060020a039081169116146102bc57600080fd5b600160a060020a03811615156102d157600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582048711f539b044952cd5b9f01b2666251a6d74f4ea5dbf92d63b89c49e93261340029a165627a7a723058205f32a1714b2e5494daeea368d6857bad51a46fb38d37917075cf5e9c8665baaa0029", + "sourceMap": "100:1328:1:-;;;442:30;;;;;;;;637:7:14;:20;;-1:-1:-1;;;;;647:10:14;637:20;-1:-1:-1;;;;;;637:20:14;;;;;;100:1328:1;;;;;;", + "deployedSourceMap": "100:1328:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;602:109;;;;;;;;;;-1:-1:-1;;;;;602:109:1;;;;;;;;;;;;;;;;;;;;497:103;;;;;;;;;;-1:-1:-1;;;;;497:103:1;;;;;;;;;;;;;;;;;;;;;;713:129;;;;;;;;;;-1:-1:-1;;;;;713:129:1;;;;;;;;;;-1:-1:-1;;;;;713:129:1;;;;;;;;;;;;;;238:22:14;;;;;;;;;;;;818:176;;;;;;;;;;-1:-1:-1;;;;;818:176:14;;;;;;;1081:344:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1081:344:1;;-1:-1:-1;1081:344:1;;-1:-1:-1;;;;;;1081:344:1;602:109;-1:-1:-1;;;;;682:25:1;661:7;682:25;;;:17;:25;;;;;;;602:109::o;497:103::-;-1:-1:-1;;;;;575:21:1;557:4;575:21;;;:15;:21;;;;;;;;;497:103::o;713:129::-;-1:-1:-1;;;;;803:27:1;;;782:7;803:27;;;:19;:27;;;;;;;;:35;;;;;;;;;;713:129::o;238:22:14:-;;;-1:-1:-1;;;;;238:22:14;;:::o;818:176::-;472:7;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;894:23:14;;;;886:32;;;;;;948:7;;-1:-1:-1;;;;;927:40:14;;;;948:7;927:40;;;;;;;;;;971:7;:19;;-1:-1:-1;;971:19:14;-1:-1:-1;;;;;971:19:14;;;;;;;;;;818:176::o;1081:344:1:-;1213:18;472:7:14;;1213:18:1;;458:10:14;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;1319:10:1;1334:8;1347:9;1361:10;1307:68;;:::i;:::-;-1:-1:-1;;;;;1307: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;1307: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;1307:68:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1290:85;;1379:25;1386:9;1397:6;1379;:25::i;:::-;1415:6;1081:344;-1:-1:-1;;;;1081:344:1:o;845:233::-;-1:-1:-1;;;;;915:25:1;;905:7;915:25;;;945:1;915:25;;;;;;;;:32;;;:29;:32;:::i;:::-;-1:-1:-1;;;;;951:27:1;;;;;;;:17;:27;;;;;;;;:37;;;992:19;:27;;;;;:31;;;;;;;;;:39;;-1:-1:-1;;992:39:1;;;;;;;;;;;1035:25;;;:15;:25;;;;;;:39;;-1:-1:-1;;1035:39:1;;;;;;-1:-1:-1;845:233:1:o;405:123:15:-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;405:123;-1:-1:-1;;;405:123:15:o;100:1328: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\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\n\tfunction addApp(address _owner, address _app) internal\n\t{\n\t\tuint id = m_appCountByOwner[_owner].add(1);\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": [ + 193 + ] + }, + "id": 194, + "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": 194, + "sourceUnit": 55, + "src": "26:19:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 58, + "nodeType": "ImportDirective", + "scope": 194, + "sourceUnit": 3509, + "src": "46:25:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 59, + "nodeType": "ImportDirective", + "scope": 194, + "sourceUnit": 3686, + "src": "72:26:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 60, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "119:9:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 61, + "nodeType": "InheritanceSpecifier", + "src": "119:9:1" + } + ], + "contractDependencies": [ + 54, + 3508 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 193, + "linearizedBaseContracts": [ + 193, + 3508 + ], + "name": "AppHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 64, + "libraryName": { + "contractScope": null, + "id": 62, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3685, + "src": "163:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3685", + "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": 193, + "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": 193, + "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": 193, + "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" + }, + { + "body": { + "id": 81, + "nodeType": "Block", + "src": "468:4:1", + "statements": [] + }, + "documentation": "Constructor", + "id": 82, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "AppHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 79, + "nodeType": "ParameterList", + "parameters": [], + "src": "457:2:1" + }, + "payable": false, + "returnParameters": { + "id": 80, + "nodeType": "ParameterList", + "parameters": [], + "src": "468:0:1" + }, + "scope": 193, + "src": "442:30:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 93, + "nodeType": "Block", + "src": "564:36:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 89, + "name": "m_appRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "575:15:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 91, + "indexExpression": { + "argumentTypes": null, + "id": 90, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "591:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "575:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 88, + "id": 92, + "nodeType": "Return", + "src": "568:28:1" + } + ] + }, + "documentation": "Methods", + "id": 94, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isAppRegistered", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 85, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 84, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "522:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 83, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "522:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "521:14:1" + }, + "payable": false, + "returnParameters": { + "id": 88, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 87, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "557:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 86, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "557:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "556:6:1" + }, + "scope": 193, + "src": "497:103:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 105, + "nodeType": "Block", + "src": "671:40:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 101, + "name": "m_appCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "682:17:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 103, + "indexExpression": { + "argumentTypes": null, + "id": 102, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "700:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "682:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 100, + "id": 104, + "nodeType": "Return", + "src": "675:32:1" + } + ] + }, + "documentation": null, + "id": 106, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getAppsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 97, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 96, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 106, + "src": "624:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 95, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "624:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "623:16:1" + }, + "payable": false, + "returnParameters": { + "id": 100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 99, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 106, + "src": "661:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 98, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "661:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "660:9:1" + }, + "scope": 193, + "src": "602:109:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 121, + "nodeType": "Block", + "src": "792:50:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 115, + "name": "m_appByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74, + "src": "803:19:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 117, + "indexExpression": { + "argumentTypes": null, + "id": 116, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 108, + "src": "823:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "803:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 119, + "indexExpression": { + "argumentTypes": null, + "id": 118, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "831:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "803:35:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 114, + "id": 120, + "nodeType": "Return", + "src": "796:42:1" + } + ] + }, + "documentation": null, + "id": 122, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 111, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 108, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 122, + "src": "729:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "729:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 110, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 122, + "src": "745:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 109, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "728:32:1" + }, + "payable": false, + "returnParameters": { + "id": 114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 113, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 122, + "src": "782:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "782:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "781:9:1" + }, + "scope": 193, + "src": "713:129:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 158, + "nodeType": "Block", + "src": "901:177:1", + "statements": [ + { + "assignments": [ + 130 + ], + "declarations": [ + { + "constant": false, + "id": 130, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 159, + "src": "905:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 129, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "905:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 137, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "945: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": 131, + "name": "m_appCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "915:17:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 133, + "indexExpression": { + "argumentTypes": null, + "id": 132, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "933:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "915:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "915: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": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "915:32:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "905:42:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 138, + "name": "m_appCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "951:17:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 140, + "indexExpression": { + "argumentTypes": null, + "id": 139, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "971:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "951:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 141, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "986:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "951:37:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 143, + "nodeType": "ExpressionStatement", + "src": "951:37:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 144, + "name": "m_appByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74, + "src": "992:19:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 147, + "indexExpression": { + "argumentTypes": null, + "id": 145, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "1012:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "992:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 148, + "indexExpression": { + "argumentTypes": null, + "id": 146, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1020:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "992:31:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 149, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 126, + "src": "1027:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "992:39:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 151, + "nodeType": "ExpressionStatement", + "src": "992:39:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 152, + "name": "m_appRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "1035:15:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 154, + "indexExpression": { + "argumentTypes": null, + "id": 153, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 126, + "src": "1055:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1035:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1070:4:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1035:39:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 157, + "nodeType": "ExpressionStatement", + "src": "1035:39:1" + } + ] + }, + "documentation": null, + "id": 159, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 127, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 124, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 159, + "src": "861:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 123, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "861:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 126, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 159, + "src": "877:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "877:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "860:30:1" + }, + "payable": false, + "returnParameters": { + "id": 128, + "nodeType": "ParameterList", + "parameters": [], + "src": "901:0:1" + }, + "scope": 193, + "src": "845:233:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 191, + "nodeType": "Block", + "src": "1234:191:1", + "statements": [ + { + "assignments": [ + 173 + ], + "declarations": [ + { + "constant": false, + "id": 173, + "name": "newApp", + "nodeType": "VariableDeclaration", + "scope": 192, + "src": "1290:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1290:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 182, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 176, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1319:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1319:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 178, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 161, + "src": "1334:8:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 179, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 163, + "src": "1347:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 180, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 165, + "src": "1361: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": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1307: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": 174, + "name": "App", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1311:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1307:68:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1290:85:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 184, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "1386:2:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1386:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 186, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 173, + "src": "1397:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 183, + "name": "addApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1379:6:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1379:25:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 188, + "nodeType": "ExpressionStatement", + "src": "1379:25:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 189, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 173, + "src": "1415:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 171, + "id": 190, + "nodeType": "Return", + "src": "1408:13:1" + } + ] + }, + "documentation": null, + "id": 192, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 168, + "modifierName": { + "argumentTypes": null, + "id": 167, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "1172:9:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1172:9:1" + } + ], + "name": "createApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 166, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 161, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 192, + "src": "1103:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 160, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1103:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 163, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 192, + "src": "1123:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 162, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1123:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 165, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 192, + "src": "1144:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 164, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1144:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1099:64:1" + }, + "payable": false, + "returnParameters": { + "id": 171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 170, + "name": "createdApp", + "nodeType": "VariableDeclaration", + "scope": 192, + "src": "1213:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 169, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1213:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1212:20:1" + }, + "scope": 193, + "src": "1081:344:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 194, + "src": "100:1328:1" + } + ], + "src": "0:1429:1" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", + "exportedSymbols": { + "AppHub": [ + 193 + ] + }, + "id": 194, + "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": 194, + "sourceUnit": 55, + "src": "26:19:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 58, + "nodeType": "ImportDirective", + "scope": 194, + "sourceUnit": 3509, + "src": "46:25:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 59, + "nodeType": "ImportDirective", + "scope": 194, + "sourceUnit": 3686, + "src": "72:26:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 60, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "119:9:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 61, + "nodeType": "InheritanceSpecifier", + "src": "119:9:1" + } + ], + "contractDependencies": [ + 54, + 3508 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 193, + "linearizedBaseContracts": [ + 193, + 3508 + ], + "name": "AppHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 64, + "libraryName": { + "contractScope": null, + "id": 62, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3685, + "src": "163:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3685", + "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": 193, + "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": 193, + "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": 193, + "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" + }, + { + "body": { + "id": 81, + "nodeType": "Block", + "src": "468:4:1", + "statements": [] + }, + "documentation": "Constructor", + "id": 82, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "AppHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 79, + "nodeType": "ParameterList", + "parameters": [], + "src": "457:2:1" + }, + "payable": false, + "returnParameters": { + "id": 80, + "nodeType": "ParameterList", + "parameters": [], + "src": "468:0:1" + }, + "scope": 193, + "src": "442:30:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 93, + "nodeType": "Block", + "src": "564:36:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 89, + "name": "m_appRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "575:15:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 91, + "indexExpression": { + "argumentTypes": null, + "id": 90, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "591:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "575:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 88, + "id": 92, + "nodeType": "Return", + "src": "568:28:1" + } + ] + }, + "documentation": "Methods", + "id": 94, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isAppRegistered", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 85, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 84, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "522:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 83, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "522:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "521:14:1" + }, + "payable": false, + "returnParameters": { + "id": 88, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 87, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "557:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 86, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "557:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "556:6:1" + }, + "scope": 193, + "src": "497:103:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 105, + "nodeType": "Block", + "src": "671:40:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 101, + "name": "m_appCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "682:17:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 103, + "indexExpression": { + "argumentTypes": null, + "id": 102, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "700:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "682:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 100, + "id": 104, + "nodeType": "Return", + "src": "675:32:1" + } + ] + }, + "documentation": null, + "id": 106, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getAppsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 97, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 96, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 106, + "src": "624:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 95, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "624:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "623:16:1" + }, + "payable": false, + "returnParameters": { + "id": 100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 99, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 106, + "src": "661:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 98, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "661:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "660:9:1" + }, + "scope": 193, + "src": "602:109:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 121, + "nodeType": "Block", + "src": "792:50:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 115, + "name": "m_appByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74, + "src": "803:19:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 117, + "indexExpression": { + "argumentTypes": null, + "id": 116, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 108, + "src": "823:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "803:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 119, + "indexExpression": { + "argumentTypes": null, + "id": 118, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "831:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "803:35:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 114, + "id": 120, + "nodeType": "Return", + "src": "796:42:1" + } + ] + }, + "documentation": null, + "id": 122, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 111, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 108, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 122, + "src": "729:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "729:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 110, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 122, + "src": "745:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 109, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "728:32:1" + }, + "payable": false, + "returnParameters": { + "id": 114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 113, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 122, + "src": "782:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "782:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "781:9:1" + }, + "scope": 193, + "src": "713:129:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 158, + "nodeType": "Block", + "src": "901:177:1", + "statements": [ + { + "assignments": [ + 130 + ], + "declarations": [ + { + "constant": false, + "id": 130, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 159, + "src": "905:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 129, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "905:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 137, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "945: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": 131, + "name": "m_appCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "915:17:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 133, + "indexExpression": { + "argumentTypes": null, + "id": 132, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "933:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "915:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "915: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": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "915:32:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "905:42:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 138, + "name": "m_appCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "951:17:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 140, + "indexExpression": { + "argumentTypes": null, + "id": 139, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "971:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "951:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 141, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "986:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "951:37:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 143, + "nodeType": "ExpressionStatement", + "src": "951:37:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 144, + "name": "m_appByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74, + "src": "992:19:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 147, + "indexExpression": { + "argumentTypes": null, + "id": 145, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "1012:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "992:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 148, + "indexExpression": { + "argumentTypes": null, + "id": 146, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1020:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "992:31:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 149, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 126, + "src": "1027:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "992:39:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 151, + "nodeType": "ExpressionStatement", + "src": "992:39:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 152, + "name": "m_appRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "1035:15:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 154, + "indexExpression": { + "argumentTypes": null, + "id": 153, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 126, + "src": "1055:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1035:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1070:4:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1035:39:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 157, + "nodeType": "ExpressionStatement", + "src": "1035:39:1" + } + ] + }, + "documentation": null, + "id": 159, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 127, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 124, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 159, + "src": "861:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 123, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "861:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 126, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 159, + "src": "877:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "877:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "860:30:1" + }, + "payable": false, + "returnParameters": { + "id": 128, + "nodeType": "ParameterList", + "parameters": [], + "src": "901:0:1" + }, + "scope": 193, + "src": "845:233:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 191, + "nodeType": "Block", + "src": "1234:191:1", + "statements": [ + { + "assignments": [ + 173 + ], + "declarations": [ + { + "constant": false, + "id": 173, + "name": "newApp", + "nodeType": "VariableDeclaration", + "scope": 192, + "src": "1290:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1290:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 182, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 176, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1319:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1319:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 178, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 161, + "src": "1334:8:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 179, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 163, + "src": "1347:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 180, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 165, + "src": "1361: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": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1307: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": 174, + "name": "App", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1311:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1307:68:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1290:85:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 184, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "1386:2:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1386:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 186, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 173, + "src": "1397:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 183, + "name": "addApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1379:6:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1379:25:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 188, + "nodeType": "ExpressionStatement", + "src": "1379:25:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 189, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 173, + "src": "1415:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 171, + "id": 190, + "nodeType": "Return", + "src": "1408:13:1" + } + ] + }, + "documentation": null, + "id": 192, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 168, + "modifierName": { + "argumentTypes": null, + "id": 167, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "1172:9:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1172:9:1" + } + ], + "name": "createApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 166, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 161, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 192, + "src": "1103:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 160, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1103:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 163, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 192, + "src": "1123:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 162, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1123:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 165, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 192, + "src": "1144:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 164, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1144:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1099:64:1" + }, + "payable": false, + "returnParameters": { + "id": 171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 170, + "name": "createdApp", + "nodeType": "VariableDeclaration", + "scope": 192, + "src": "1213:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 169, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1213:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1212:20:1" + }, + "scope": 193, + "src": "1081:344:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 194, + "src": "100:1328:1" + } + ], + "src": "0:1429: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": "0x90c7154bc5e77a0ff535bd9ac1ecd9cc14718f08", + "transactionHash": "0xcda139edc12205fb09f60fd34faa3dacc82b4f7b8f1fdddec676566ae4194a4d" + }, + "4": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x54adc857dfa34bbc50ee7105dd0d9cb57798d535", + "transactionHash": "0xed64122a00d94b5845f93c55faa8fa8c9a2d30ba153f2c996571bfb43fb4f139" + }, + "42": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0xa496debd0690a217fcd5726f902e6944ff2e3b69", + "transactionHash": "0x5cc72edfb03a3eb7bc9f2680ce7ddff73493ab029e607e43f18dc14974168fa9" + } + }, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T19:19:29.246Z" +} \ No newline at end of file diff --git a/build/contracts/Dataset.json b/build/contracts/Dataset.json new file mode 100644 index 00000000..6de3a1fd --- /dev/null +++ b/build/contracts/Dataset.json @@ -0,0 +1,1494 @@ +{ + "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": 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": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "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": "0x6060604052341561000f57600080fd5b60405161059a38038061059a83398101604052808051919060200180518201919060200180519190602001805160008054600160a060020a03191633600160a060020a03908116919091179091559201918591508116151561007057600080fd5b60018054600160a060020a03928316600160a060020a031991821681179092556002805490911690911790553281163390911614156100ae57600080fd5b6100c4326401000000006102a16100fa82021704565b60038380516100d7929160200190610188565b50600482905560058180516100f0929160200190610188565b5050505050610223565b60005433600160a060020a0390811691161461011557600080fd5b600160a060020a038116151561012a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101c957805160ff19168380011785556101f6565b828001600101855582156101f6579182015b828111156101f65782518255916020019190600101906101db565b50610202929150610206565b5090565b61022091905b80821115610202576000815560010161020c565b90565b610368806102326000396000f30060606040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630847c431811461007157806362d598eb146100fb578063c2880e1714610120578063deff41c114610133578063f2fde38b14610162575b600080fd5b341561007c57600080fd5b610084610183565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100c05780820151838201526020016100a8565b50505050905090810190601f1680156100ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561010657600080fd5b61010e610221565b60405190815260200160405180910390f35b341561012b57600080fd5b610084610227565b341561013e57600080fd5b610146610292565b604051600160a060020a03909116815260200160405180910390f35b341561016d57600080fd5b610181600160a060020a03600435166102a1565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102195780601f106101ee57610100808354040283529160200191610219565b820191906000526020600020905b8154815290600101906020018083116101fc57829003601f168201915b505050505081565b60045481565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102195780601f106101ee57610100808354040283529160200191610219565b600054600160a060020a031681565b60005433600160a060020a039081169116146102bc57600080fd5b600160a060020a03811615156102d157600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058205f620edff4ebe04810e5ecb5639f611448caa02ff6287e8275be6bc233a2fee40029", + "deployedBytecode": "0x60606040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630847c431811461007157806362d598eb146100fb578063c2880e1714610120578063deff41c114610133578063f2fde38b14610162575b600080fd5b341561007c57600080fd5b610084610183565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100c05780820151838201526020016100a8565b50505050905090810190601f1680156100ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561010657600080fd5b61010e610221565b60405190815260200160405180910390f35b341561012b57600080fd5b610084610227565b341561013e57600080fd5b610146610292565b604051600160a060020a03909116815260200160405180910390f35b341561016d57600080fd5b610181600160a060020a03600435166102a1565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102195780601f106101ee57610100808354040283529160200191610219565b820191906000526020600020905b8154815290600101906020018083116101fc57829003601f168201915b505050505081565b60045481565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102195780601f106101ee57610100808354040283529160200191610219565b600054600160a060020a031681565b60005433600160a060020a039081169116146102bc57600080fd5b600160a060020a03811615156102d157600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058205f620edff4ebe04810e5ecb5639f611448caa02ff6287e8275be6bc233a2fee40029", + "sourceMap": "86:653:2:-;;;313:422;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:7:14;:20;;-1:-1:-1;;;;;;637:20:14;647:10;-1:-1:-1;;;;;637:20:14;;;;;;;;;;313:422:2;;;452:16;;-1:-1:-1;334:30:7;;;;326:39;;;;;;369:15;:36;;-1:-1:-1;;;;;369:36:7;;;-1:-1:-1;;;;;;369:36:7;;;;;;;;409:17;:55;;;;;;;;;;545:9:2;:23;;558:10;545:23;;;;;537:32;;;;;;573:28;591:9;573:17;;;;;;:28;:::i;:::-;629:13;647:12;;629:30;;;;;;;;:::i;:::-;-1:-1:-1;663:14:2;:31;;;698:15;716:14;;698:32;;;;;;;;:::i;:::-;;313:422;;;;86:653;;818:176:14;472:7;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;894:23:14;;;;886:32;;;;;;948:7;;-1:-1:-1;;;;;927:40:14;;;;948:7;927:40;;;;;;;;;;971:7;:19;;-1:-1:-1;;;;;;971:19:14;-1:-1:-1;;;;;971:19:14;;;;;;;;;;818:176::o;86:653:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;86:653:2;;;-1:-1:-1;86:653:2;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "86:653: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;;;;;;;;;;;;;;;;;;;;;;;;;;;243:40;;;;;;;;;;;;238:22:14;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:22:14;;;;;;;;;;;;;;;818:176;;;;;;;;;;;;-1:-1:-1;;;;;818:176:14;;;;;160:38:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;201:39::-;;;;:::o;243:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:22:14;;;-1:-1:-1;;;;;238:22:14;;:::o;818:176::-;472:7;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;894:23:14;;;;886:32;;;;;;948:7;;-1:-1:-1;;;;;927:40:14;;;;948:7;927:40;;;;;;;;;;971:7;:19;;-1:-1:-1;;971:19:14;-1:-1:-1;;;;;971:19:14;;;;;;;;;;818:176::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\ttransferOwnership(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": [ + 248 + ] + }, + "id": 249, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 195, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:2" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 196, + "nodeType": "ImportDirective", + "scope": 249, + "sourceUnit": 3509, + "src": "26:25:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 197, + "nodeType": "ImportDirective", + "scope": 249, + "sourceUnit": 2362, + "src": "52:32:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 198, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "106:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 199, + "nodeType": "InheritanceSpecifier", + "src": "106:9:2" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 200, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2361, + "src": "117:16:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2361", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 201, + "nodeType": "InheritanceSpecifier", + "src": "117:16:2" + } + ], + "contractDependencies": [ + 2361, + 3508 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 248, + "linearizedBaseContracts": [ + 248, + 2361, + 3508 + ], + "name": "Dataset", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 203, + "name": "m_datasetName", + "nodeType": "VariableDeclaration", + "scope": 248, + "src": "160:38:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 202, + "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": 205, + "name": "m_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 248, + "src": "201:39:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "201:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 207, + "name": "m_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 248, + "src": "243:40:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 206, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "243:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 246, + "nodeType": "Block", + "src": "479:256:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 222, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "545:2:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 223, + "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": 224, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "558:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 225, + "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": 221, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "537:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "537:32:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 228, + "nodeType": "ExpressionStatement", + "src": "537:32:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 230, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "591:2:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "591:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 229, + "name": "transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3507, + "src": "573:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "573:28:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 233, + "nodeType": "ExpressionStatement", + "src": "573:28:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 234, + "name": "m_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 203, + "src": "629:13:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 235, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "647:12:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "629:30:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 237, + "nodeType": "ExpressionStatement", + "src": "629:30:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 238, + "name": "m_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 205, + "src": "663:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 239, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "681:13:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "663:31:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 241, + "nodeType": "ExpressionStatement", + "src": "663:31:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 242, + "name": "m_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 207, + "src": "698:15:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 243, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "716:14:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "698:32:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 245, + "nodeType": "ExpressionStatement", + "src": "698:32:2" + } + ] + }, + "documentation": "Constructor", + "id": 247, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 218, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "452:16:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 219, + "modifierName": { + "argumentTypes": null, + "id": 217, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "435:16:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2361_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "435:34:2" + } + ], + "name": "Dataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 209, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 247, + "src": "333:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 208, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "333:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 211, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 247, + "src": "361:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 210, + "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": 213, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 247, + "src": "385:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 212, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "385:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 215, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 247, + "src": "410:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 214, + "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": 220, + "nodeType": "ParameterList", + "parameters": [], + "src": "479:0:2" + }, + "scope": 248, + "src": "313:422:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 249, + "src": "86:653:2" + } + ], + "src": "0:740:2" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", + "exportedSymbols": { + "Dataset": [ + 248 + ] + }, + "id": 249, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 195, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:2" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 196, + "nodeType": "ImportDirective", + "scope": 249, + "sourceUnit": 3509, + "src": "26:25:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 197, + "nodeType": "ImportDirective", + "scope": 249, + "sourceUnit": 2362, + "src": "52:32:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 198, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "106:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 199, + "nodeType": "InheritanceSpecifier", + "src": "106:9:2" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 200, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2361, + "src": "117:16:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2361", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 201, + "nodeType": "InheritanceSpecifier", + "src": "117:16:2" + } + ], + "contractDependencies": [ + 2361, + 3508 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 248, + "linearizedBaseContracts": [ + 248, + 2361, + 3508 + ], + "name": "Dataset", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 203, + "name": "m_datasetName", + "nodeType": "VariableDeclaration", + "scope": 248, + "src": "160:38:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 202, + "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": 205, + "name": "m_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 248, + "src": "201:39:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "201:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 207, + "name": "m_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 248, + "src": "243:40:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 206, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "243:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 246, + "nodeType": "Block", + "src": "479:256:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 222, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "545:2:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 223, + "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": 224, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "558:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 225, + "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": 221, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "537:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "537:32:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 228, + "nodeType": "ExpressionStatement", + "src": "537:32:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 230, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "591:2:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "591:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 229, + "name": "transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3507, + "src": "573:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "573:28:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 233, + "nodeType": "ExpressionStatement", + "src": "573:28:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 234, + "name": "m_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 203, + "src": "629:13:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 235, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "647:12:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "629:30:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 237, + "nodeType": "ExpressionStatement", + "src": "629:30:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 238, + "name": "m_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 205, + "src": "663:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 239, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "681:13:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "663:31:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 241, + "nodeType": "ExpressionStatement", + "src": "663:31:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 242, + "name": "m_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 207, + "src": "698:15:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 243, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "716:14:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "698:32:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 245, + "nodeType": "ExpressionStatement", + "src": "698:32:2" + } + ] + }, + "documentation": "Constructor", + "id": 247, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 218, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "452:16:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 219, + "modifierName": { + "argumentTypes": null, + "id": 217, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "435:16:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2361_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "435:34:2" + } + ], + "name": "Dataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 209, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 247, + "src": "333:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 208, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "333:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 211, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 247, + "src": "361:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 210, + "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": 213, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 247, + "src": "385:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 212, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "385:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 215, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 247, + "src": "410:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 214, + "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": 220, + "nodeType": "ParameterList", + "parameters": [], + "src": "479:0:2" + }, + "scope": 248, + "src": "313:422:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 249, + "src": "86:653:2" + } + ], + "src": "0:740:2" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T18:32:30.782Z" +} \ No newline at end of file diff --git a/build/contracts/DatasetHub.json b/build/contracts/DatasetHub.json new file mode 100644 index 00000000..4c7c23c2 --- /dev/null +++ b/build/contracts/DatasetHub.json @@ -0,0 +1,3578 @@ +{ + "contractName": "DatasetHub", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "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": "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": 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": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a0319909116179055610abb8061003b6000396000f3006060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166316265b4e811461007c5780632b58072f146100af57806334646163146100e057806339b731221461011e578063deff41c1146101ba578063f2fde38b146101cd575b600080fd5b341561008757600080fd5b61009b600160a060020a03600435166101ee565b604051901515815260200160405180910390f35b34156100ba57600080fd5b6100ce600160a060020a036004351661020c565b60405190815260200160405180910390f35b34156100eb57600080fd5b610102600160a060020a0360043516602435610227565b604051600160a060020a03909116815260200160405180910390f35b341561012957600080fd5b61010260046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061024f95505050505050565b34156101c557600080fd5b610102610390565b34156101d857600080fd5b6101ec600160a060020a036004351661039f565b005b600160a060020a031660009081526003602052604090205460ff1690565b600160a060020a031660009081526001602052604090205490565b600160a060020a03918216600090815260026020908152604080832093835292905220541690565b60008054819033600160a060020a0390811691161461026d57600080fd5b338585856102796104e5565b600160a060020a038516815260408101839052608060208201818152906060830190830186818151815260200191508051906020019080838360005b838110156102cd5780820151838201526020016102b5565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610330578082015183820152602001610318565b50505050905090810190601f16801561035d5780820380516001836020036101000a031916815260200191505b509650505050505050604051809103906000f080151561037c57600080fd5b9050610388328261043a565b949350505050565b600054600160a060020a031681565b60005433600160a060020a039081169116146103ba57600080fd5b600160a060020a03811615156103cf57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03821660009081526001602081905260408220546104649163ffffffff6104cf16565b600160a060020a03938416600090815260016020818152604080842085905560028252808420948452938152838320805473ffffffffffffffffffffffffffffffffffffffff1916969097169586179096559381526003909452909220805460ff1916909117905550565b6000828201838110156104de57fe5b9392505050565b60405161059a806104f68339019056006060604052341561000f57600080fd5b60405161059a38038061059a83398101604052808051919060200180518201919060200180519190602001805160008054600160a060020a03191633600160a060020a03908116919091179091559201918591508116151561007057600080fd5b60018054600160a060020a03928316600160a060020a031991821681179092556002805490911690911790553281163390911614156100ae57600080fd5b6100c4326401000000006102a16100fa82021704565b60038380516100d7929160200190610188565b50600482905560058180516100f0929160200190610188565b5050505050610223565b60005433600160a060020a0390811691161461011557600080fd5b600160a060020a038116151561012a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101c957805160ff19168380011785556101f6565b828001600101855582156101f6579182015b828111156101f65782518255916020019190600101906101db565b50610202929150610206565b5090565b61022091905b80821115610202576000815560010161020c565b90565b610368806102326000396000f30060606040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630847c431811461007157806362d598eb146100fb578063c2880e1714610120578063deff41c114610133578063f2fde38b14610162575b600080fd5b341561007c57600080fd5b610084610183565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100c05780820151838201526020016100a8565b50505050905090810190601f1680156100ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561010657600080fd5b61010e610221565b60405190815260200160405180910390f35b341561012b57600080fd5b610084610227565b341561013e57600080fd5b610146610292565b604051600160a060020a03909116815260200160405180910390f35b341561016d57600080fd5b610181600160a060020a03600435166102a1565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102195780601f106101ee57610100808354040283529160200191610219565b820191906000526020600020905b8154815290600101906020018083116101fc57829003601f168201915b505050505081565b60045481565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102195780601f106101ee57610100808354040283529160200191610219565b600054600160a060020a031681565b60005433600160a060020a039081169116146102bc57600080fd5b600160a060020a03811615156102d157600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058205f620edff4ebe04810e5ecb5639f611448caa02ff6287e8275be6bc233a2fee40029a165627a7a72305820147f13d97425b01c6b7aa45eebc13251bc058615cb788a2090269314d13e3d4e0029", + "deployedBytecode": "0x6060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166316265b4e811461007c5780632b58072f146100af57806334646163146100e057806339b731221461011e578063deff41c1146101ba578063f2fde38b146101cd575b600080fd5b341561008757600080fd5b61009b600160a060020a03600435166101ee565b604051901515815260200160405180910390f35b34156100ba57600080fd5b6100ce600160a060020a036004351661020c565b60405190815260200160405180910390f35b34156100eb57600080fd5b610102600160a060020a0360043516602435610227565b604051600160a060020a03909116815260200160405180910390f35b341561012957600080fd5b61010260046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061024f95505050505050565b34156101c557600080fd5b610102610390565b34156101d857600080fd5b6101ec600160a060020a036004351661039f565b005b600160a060020a031660009081526003602052604090205460ff1690565b600160a060020a031660009081526001602052604090205490565b600160a060020a03918216600090815260026020908152604080832093835292905220541690565b60008054819033600160a060020a0390811691161461026d57600080fd5b338585856102796104e5565b600160a060020a038516815260408101839052608060208201818152906060830190830186818151815260200191508051906020019080838360005b838110156102cd5780820151838201526020016102b5565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610330578082015183820152602001610318565b50505050905090810190601f16801561035d5780820380516001836020036101000a031916815260200191505b509650505050505050604051809103906000f080151561037c57600080fd5b9050610388328261043a565b949350505050565b600054600160a060020a031681565b60005433600160a060020a039081169116146103ba57600080fd5b600160a060020a03811615156103cf57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03821660009081526001602081905260408220546104649163ffffffff6104cf16565b600160a060020a03938416600090815260016020818152604080842085905560028252808420948452938152838320805473ffffffffffffffffffffffffffffffffffffffff1916969097169586179096559381526003909452909220805460ff1916909117905550565b6000828201838110156104de57fe5b9392505050565b60405161059a806104f68339019056006060604052341561000f57600080fd5b60405161059a38038061059a83398101604052808051919060200180518201919060200180519190602001805160008054600160a060020a03191633600160a060020a03908116919091179091559201918591508116151561007057600080fd5b60018054600160a060020a03928316600160a060020a031991821681179092556002805490911690911790553281163390911614156100ae57600080fd5b6100c4326401000000006102a16100fa82021704565b60038380516100d7929160200190610188565b50600482905560058180516100f0929160200190610188565b5050505050610223565b60005433600160a060020a0390811691161461011557600080fd5b600160a060020a038116151561012a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101c957805160ff19168380011785556101f6565b828001600101855582156101f6579182015b828111156101f65782518255916020019190600101906101db565b50610202929150610206565b5090565b61022091905b80821115610202576000815560010161020c565b90565b610368806102326000396000f30060606040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630847c431811461007157806362d598eb146100fb578063c2880e1714610120578063deff41c114610133578063f2fde38b14610162575b600080fd5b341561007c57600080fd5b610084610183565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100c05780820151838201526020016100a8565b50505050905090810190601f1680156100ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561010657600080fd5b61010e610221565b60405190815260200160405180910390f35b341561012b57600080fd5b610084610227565b341561013e57600080fd5b610146610292565b604051600160a060020a03909116815260200160405180910390f35b341561016d57600080fd5b610181600160a060020a03600435166102a1565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102195780601f106101ee57610100808354040283529160200191610219565b820191906000526020600020905b8154815290600101906020018083116101fc57829003601f168201915b505050505081565b60045481565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102195780601f106101ee57610100808354040283529160200191610219565b600054600160a060020a031681565b60005433600160a060020a039081169116146102bc57600080fd5b600160a060020a03811615156102d157600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058205f620edff4ebe04810e5ecb5639f611448caa02ff6287e8275be6bc233a2fee40029a165627a7a72305820147f13d97425b01c6b7aa45eebc13251bc058615cb788a2090269314d13e3d4e0029", + "sourceMap": "104:1453:3:-;;;462:34;;;;;;;;637:7:14;:20;;-1:-1:-1;;;;;647:10:14;637:20;-1:-1:-1;;;;;;637:20:14;;;;;;104:1453:3;;;;;;", + "deployedSourceMap": "104:1453:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;521:118;;;;;;;;;;-1:-1:-1;;;;;521:118:3;;;;;;;;;;;;;;;;;;;;;;641:117;;;;;;;;;;-1:-1:-1;;;;;641:117:3;;;;;;;;;;;;;;;;;;;;760:137;;;;;;;;;;-1:-1:-1;;;;;760:137:3;;;;;;;;;;-1:-1:-1;;;;;760:137:3;;;;;;;;;;;;;;1161:394;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1161:394:3;;-1:-1:-1;1161:394:3;;-1:-1:-1;;;;;;1161:394:3;238:22:14;;;;;;;;;;;;818:176;;;;;;;;;;-1:-1:-1;;;;;818:176:14;;;;;;;521:118:3;-1:-1:-1;;;;;606:29:3;588:4;606:29;;;:19;:29;;;;;;;;;521:118::o;641:117::-;-1:-1:-1;;;;;725:29:3;704:7;725:29;;;:21;:29;;;;;;;641:117::o;760:137::-;-1:-1:-1;;;;;854:31:3;;;833:7;854:31;;;:23;:31;;;;;;;;:39;;;;;;;;;;760:137::o;1161:394::-;1307:22;472:7:14;;1307:22:3;;458:10:14;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;1425:10:3;1440:12;1457:13;1475:14;1409:84;;:::i;:::-;-1:-1:-1;;;;;1409: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;1409: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;1409:84:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1388:105;;1497:33;1508:9;1519:10;1497;:33::i;:::-;1541:10;1161:394;-1:-1:-1;;;;1161:394:3:o;238:22:14:-;;;-1:-1:-1;;;;;238:22:14;;:::o;818:176::-;472:7;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;894:23:14;;;;886:32;;;;;;948:7;;-1:-1:-1;;;;;927:40:14;;;;948:7;927:40;;;;;;;;;;971:7;:19;;-1:-1:-1;;971:19:14;-1:-1:-1;;;;;971:19:14;;;;;;;;;;818:176::o;900:258:3:-;-1:-1:-1;;;;;978:29:3;;968:7;978:29;;;1012:1;978:29;;;;;;;;:36;;;:33;:36;:::i;:::-;-1:-1:-1;;;;;1018:31:3;;;;;;;:21;:31;;;;;;;;:40;;;1062:23;:31;;;;;:35;;;;;;;;;:46;;-1:-1:-1;;1062:46:3;;;;;;;;;;;1112:33;;;:19;:33;;;;;;:42;;-1:-1:-1;;1112:42:3;;;;;;-1:-1:-1;900:258:3:o;405:123:15:-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;405:123;-1:-1:-1;;;405:123:15:o;104:1453: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\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\n\tfunction addDataset(address _owner, address _dataset) internal\n\t{\n\t\tuint id = m_datasetCountByOwner[_owner].add(1);\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": [ + 387 + ] + }, + "id": 388, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 250, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:3" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", + "file": "./Dataset.sol", + "id": 251, + "nodeType": "ImportDirective", + "scope": 388, + "sourceUnit": 249, + "src": "26:23:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 252, + "nodeType": "ImportDirective", + "scope": 388, + "sourceUnit": 3509, + "src": "50:25:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 253, + "nodeType": "ImportDirective", + "scope": 388, + "sourceUnit": 3686, + "src": "76:26:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 254, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "127:9:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 255, + "nodeType": "InheritanceSpecifier", + "src": "127:9:3" + } + ], + "contractDependencies": [ + 248, + 3508 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 387, + "linearizedBaseContracts": [ + 387, + 3508 + ], + "name": "DatasetHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 258, + "libraryName": { + "contractScope": null, + "id": 256, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3685, + "src": "170:10:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3685", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "164:29:3", + "typeName": { + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "185:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 262, + "name": "m_datasetCountByOwner", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "218:69:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 261, + "keyType": { + "id": 259, + "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": 260, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "237:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 268, + "name": "m_datasetByOwnerByIndex", + "nodeType": "VariableDeclaration", + "scope": 387, + "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": 267, + "keyType": { + "id": 263, + "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": 266, + "keyType": { + "id": 264, + "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": 265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "328:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 272, + "name": "m_datasetRegistered", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "364:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 271, + "keyType": { + "id": 269, + "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": 270, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "383:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 275, + "nodeType": "Block", + "src": "492:4:3", + "statements": [] + }, + "documentation": "Constructor", + "id": 276, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "DatasetHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 273, + "nodeType": "ParameterList", + "parameters": [], + "src": "481:2:3" + }, + "payable": false, + "returnParameters": { + "id": 274, + "nodeType": "ParameterList", + "parameters": [], + "src": "492:0:3" + }, + "scope": 387, + "src": "462:34:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 287, + "nodeType": "Block", + "src": "595:44:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 283, + "name": "m_datasetRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 272, + "src": "606:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 285, + "indexExpression": { + "argumentTypes": null, + "id": 284, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 278, + "src": "626:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "606:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 282, + "id": 286, + "nodeType": "Return", + "src": "599:36:3" + } + ] + }, + "documentation": "Methods", + "id": 288, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isDatasetRegistred", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 279, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 278, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 288, + "src": "549:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 277, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "549:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "548:18:3" + }, + "payable": false, + "returnParameters": { + "id": 282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 281, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 288, + "src": "588:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 280, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "588:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "587:6:3" + }, + "scope": 387, + "src": "521:118:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 299, + "nodeType": "Block", + "src": "714:44:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 295, + "name": "m_datasetCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 262, + "src": "725:21:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 297, + "indexExpression": { + "argumentTypes": null, + "id": 296, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 290, + "src": "747:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "725:29:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 294, + "id": 298, + "nodeType": "Return", + "src": "718:36:3" + } + ] + }, + "documentation": null, + "id": 300, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getDatasetsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 290, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 300, + "src": "667:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "667:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "666:16:3" + }, + "payable": false, + "returnParameters": { + "id": 294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 293, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 300, + "src": "704:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 292, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "704:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "703:9:3" + }, + "scope": 387, + "src": "641:117:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 315, + "nodeType": "Block", + "src": "843:54:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 309, + "name": "m_datasetByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 268, + "src": "854:23:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 311, + "indexExpression": { + "argumentTypes": null, + "id": 310, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "878:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "854:31:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 313, + "indexExpression": { + "argumentTypes": null, + "id": 312, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 304, + "src": "886:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "854:39:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 308, + "id": 314, + "nodeType": "Return", + "src": "847:46:3" + } + ] + }, + "documentation": null, + "id": 316, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 302, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 316, + "src": "780:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "780:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 304, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 316, + "src": "796:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 303, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "796:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "779:32:3" + }, + "payable": false, + "returnParameters": { + "id": 308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 307, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 316, + "src": "833:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 306, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "833:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "832:9:3" + }, + "scope": 387, + "src": "760:137:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 352, + "nodeType": "Block", + "src": "964:194:3", + "statements": [ + { + "assignments": [ + 324 + ], + "declarations": [ + { + "constant": false, + "id": 324, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "968:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 323, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "968:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 331, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1012: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": 325, + "name": "m_datasetCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 262, + "src": "978:21:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 327, + "indexExpression": { + "argumentTypes": null, + "id": 326, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1000:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "978:29:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "978: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": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "978:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "968:46:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 332, + "name": "m_datasetCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 262, + "src": "1018: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": 318, + "src": "1042:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1018:31:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 335, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "1056:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1018:40:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 337, + "nodeType": "ExpressionStatement", + "src": "1018:40:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 338, + "name": "m_datasetByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 268, + "src": "1062:23:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 341, + "indexExpression": { + "argumentTypes": null, + "id": 339, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1086:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1062:31:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 342, + "indexExpression": { + "argumentTypes": null, + "id": 340, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "1094:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1062:35:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 343, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "1100:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1062:46:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 345, + "nodeType": "ExpressionStatement", + "src": "1062:46:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 346, + "name": "m_datasetRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 272, + "src": "1112:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 348, + "indexExpression": { + "argumentTypes": null, + "id": 347, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "1136:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1112:33:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1150:4:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1112:42:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 351, + "nodeType": "ExpressionStatement", + "src": "1112:42:3" + } + ] + }, + "documentation": null, + "id": 353, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 318, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "920:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 317, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "920:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 320, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "936:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 319, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "936:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "919:34:3" + }, + "payable": false, + "returnParameters": { + "id": 322, + "nodeType": "ParameterList", + "parameters": [], + "src": "964:0:3" + }, + "scope": 387, + "src": "900:258:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 385, + "nodeType": "Block", + "src": "1332:223:3", + "statements": [ + { + "assignments": [ + 367 + ], + "declarations": [ + { + "constant": false, + "id": 367, + "name": "newDataset", + "nodeType": "VariableDeclaration", + "scope": 386, + "src": "1388:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1388:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 376, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 370, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1425:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1425:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 372, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1440:12:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 373, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 357, + "src": "1457:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 374, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 359, + "src": "1475: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": 369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1409:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_contract$_Dataset_$248_$", + "typeString": "function (address,string memory,uint256,string memory) returns (contract Dataset)" + }, + "typeName": { + "contractScope": null, + "id": 368, + "name": "Dataset", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 248, + "src": "1413:7:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + } + }, + "id": 375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1409:84:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1388:105:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 378, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "1508:2:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1508:9:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 380, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "1519:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 377, + "name": "addDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 353, + "src": "1497:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1497:33:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 382, + "nodeType": "ExpressionStatement", + "src": "1497:33:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 383, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "1541:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 365, + "id": 384, + "nodeType": "Return", + "src": "1534:17:3" + } + ] + }, + "documentation": null, + "id": 386, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 362, + "modifierName": { + "argumentTypes": null, + "id": 361, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "1266:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1266:9:3" + } + ], + "name": "createDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 360, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 355, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 386, + "src": "1187:19:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 354, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1187:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 357, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 386, + "src": "1210:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1210:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 359, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 386, + "src": "1235:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 358, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1235:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1183:74:3" + }, + "payable": false, + "returnParameters": { + "id": 365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 364, + "name": "createdDataset", + "nodeType": "VariableDeclaration", + "scope": 386, + "src": "1307:22:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 363, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1307:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1306:24:3" + }, + "scope": 387, + "src": "1161:394:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 388, + "src": "104:1453:3" + } + ], + "src": "0:1558:3" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", + "exportedSymbols": { + "DatasetHub": [ + 387 + ] + }, + "id": 388, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 250, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:3" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", + "file": "./Dataset.sol", + "id": 251, + "nodeType": "ImportDirective", + "scope": 388, + "sourceUnit": 249, + "src": "26:23:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 252, + "nodeType": "ImportDirective", + "scope": 388, + "sourceUnit": 3509, + "src": "50:25:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 253, + "nodeType": "ImportDirective", + "scope": 388, + "sourceUnit": 3686, + "src": "76:26:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 254, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "127:9:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 255, + "nodeType": "InheritanceSpecifier", + "src": "127:9:3" + } + ], + "contractDependencies": [ + 248, + 3508 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 387, + "linearizedBaseContracts": [ + 387, + 3508 + ], + "name": "DatasetHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 258, + "libraryName": { + "contractScope": null, + "id": 256, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3685, + "src": "170:10:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3685", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "164:29:3", + "typeName": { + "id": 257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "185:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 262, + "name": "m_datasetCountByOwner", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "218:69:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 261, + "keyType": { + "id": 259, + "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": 260, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "237:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 268, + "name": "m_datasetByOwnerByIndex", + "nodeType": "VariableDeclaration", + "scope": 387, + "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": 267, + "keyType": { + "id": 263, + "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": 266, + "keyType": { + "id": 264, + "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": 265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "328:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 272, + "name": "m_datasetRegistered", + "nodeType": "VariableDeclaration", + "scope": 387, + "src": "364:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 271, + "keyType": { + "id": 269, + "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": 270, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "383:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 275, + "nodeType": "Block", + "src": "492:4:3", + "statements": [] + }, + "documentation": "Constructor", + "id": 276, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "DatasetHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 273, + "nodeType": "ParameterList", + "parameters": [], + "src": "481:2:3" + }, + "payable": false, + "returnParameters": { + "id": 274, + "nodeType": "ParameterList", + "parameters": [], + "src": "492:0:3" + }, + "scope": 387, + "src": "462:34:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 287, + "nodeType": "Block", + "src": "595:44:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 283, + "name": "m_datasetRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 272, + "src": "606:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 285, + "indexExpression": { + "argumentTypes": null, + "id": 284, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 278, + "src": "626:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "606:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 282, + "id": 286, + "nodeType": "Return", + "src": "599:36:3" + } + ] + }, + "documentation": "Methods", + "id": 288, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isDatasetRegistred", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 279, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 278, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 288, + "src": "549:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 277, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "549:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "548:18:3" + }, + "payable": false, + "returnParameters": { + "id": 282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 281, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 288, + "src": "588:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 280, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "588:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "587:6:3" + }, + "scope": 387, + "src": "521:118:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 299, + "nodeType": "Block", + "src": "714:44:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 295, + "name": "m_datasetCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 262, + "src": "725:21:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 297, + "indexExpression": { + "argumentTypes": null, + "id": 296, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 290, + "src": "747:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "725:29:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 294, + "id": 298, + "nodeType": "Return", + "src": "718:36:3" + } + ] + }, + "documentation": null, + "id": 300, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getDatasetsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 290, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 300, + "src": "667:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "667:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "666:16:3" + }, + "payable": false, + "returnParameters": { + "id": 294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 293, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 300, + "src": "704:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 292, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "704:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "703:9:3" + }, + "scope": 387, + "src": "641:117:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 315, + "nodeType": "Block", + "src": "843:54:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 309, + "name": "m_datasetByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 268, + "src": "854:23:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 311, + "indexExpression": { + "argumentTypes": null, + "id": 310, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "878:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "854:31:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 313, + "indexExpression": { + "argumentTypes": null, + "id": 312, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 304, + "src": "886:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "854:39:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 308, + "id": 314, + "nodeType": "Return", + "src": "847:46:3" + } + ] + }, + "documentation": null, + "id": 316, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 302, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 316, + "src": "780:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "780:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 304, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 316, + "src": "796:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 303, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "796:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "779:32:3" + }, + "payable": false, + "returnParameters": { + "id": 308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 307, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 316, + "src": "833:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 306, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "833:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "832:9:3" + }, + "scope": 387, + "src": "760:137:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 352, + "nodeType": "Block", + "src": "964:194:3", + "statements": [ + { + "assignments": [ + 324 + ], + "declarations": [ + { + "constant": false, + "id": 324, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "968:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 323, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "968:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 331, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1012: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": 325, + "name": "m_datasetCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 262, + "src": "978:21:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 327, + "indexExpression": { + "argumentTypes": null, + "id": 326, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1000:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "978:29:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "978: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": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "978:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "968:46:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 332, + "name": "m_datasetCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 262, + "src": "1018: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": 318, + "src": "1042:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1018:31:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 335, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "1056:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1018:40:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 337, + "nodeType": "ExpressionStatement", + "src": "1018:40:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 338, + "name": "m_datasetByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 268, + "src": "1062:23:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 341, + "indexExpression": { + "argumentTypes": null, + "id": 339, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "1086:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1062:31:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 342, + "indexExpression": { + "argumentTypes": null, + "id": 340, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "1094:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1062:35:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 343, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "1100:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1062:46:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 345, + "nodeType": "ExpressionStatement", + "src": "1062:46:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 346, + "name": "m_datasetRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 272, + "src": "1112:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 348, + "indexExpression": { + "argumentTypes": null, + "id": 347, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "1136:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1112:33:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1150:4:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1112:42:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 351, + "nodeType": "ExpressionStatement", + "src": "1112:42:3" + } + ] + }, + "documentation": null, + "id": 353, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 318, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "920:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 317, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "920:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 320, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "936:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 319, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "936:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "919:34:3" + }, + "payable": false, + "returnParameters": { + "id": 322, + "nodeType": "ParameterList", + "parameters": [], + "src": "964:0:3" + }, + "scope": 387, + "src": "900:258:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 385, + "nodeType": "Block", + "src": "1332:223:3", + "statements": [ + { + "assignments": [ + 367 + ], + "declarations": [ + { + "constant": false, + "id": 367, + "name": "newDataset", + "nodeType": "VariableDeclaration", + "scope": 386, + "src": "1388:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1388:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 376, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 370, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1425:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1425:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 372, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1440:12:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 373, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 357, + "src": "1457:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 374, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 359, + "src": "1475: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": 369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1409:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_contract$_Dataset_$248_$", + "typeString": "function (address,string memory,uint256,string memory) returns (contract Dataset)" + }, + "typeName": { + "contractScope": null, + "id": 368, + "name": "Dataset", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 248, + "src": "1413:7:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + } + }, + "id": 375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1409:84:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1388:105:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 378, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "1508:2:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1508:9:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 380, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "1519:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 377, + "name": "addDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 353, + "src": "1497:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1497:33:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 382, + "nodeType": "ExpressionStatement", + "src": "1497:33:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 383, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "1541:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 365, + "id": 384, + "nodeType": "Return", + "src": "1534:17:3" + } + ] + }, + "documentation": null, + "id": 386, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 362, + "modifierName": { + "argumentTypes": null, + "id": 361, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "1266:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1266:9:3" + } + ], + "name": "createDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 360, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 355, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 386, + "src": "1187:19:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 354, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1187:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 357, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 386, + "src": "1210:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1210:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 359, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 386, + "src": "1235:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 358, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1235:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1183:74:3" + }, + "payable": false, + "returnParameters": { + "id": 365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 364, + "name": "createdDataset", + "nodeType": "VariableDeclaration", + "scope": 386, + "src": "1307:22:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 363, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1307:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1306:24:3" + }, + "scope": 387, + "src": "1161:394:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 388, + "src": "104:1453:3" + } + ], + "src": "0:1558: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": "0xdee768d9a781658503445cbe79e463bcf90538d5", + "transactionHash": "0x798b04d224257086038b2b1e70a239132ad699c2beadd529cb0a94d9a52d63d4" + }, + "4": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0xd5eb98773f0b113f4691217e0a62bd520198eeb8", + "transactionHash": "0xab09a56c148c9c32c3bceedf23083a3c90310ddeed2dc827186a47cf9de5c965" + }, + "42": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0xf9a672e79e6aa6c95d3315085b069452e305a0e1", + "transactionHash": "0xe1c0ff75681216cd0607ab69fd5c1fb36097de79ec0736ea05e4bf6ff5a47857" + } + }, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T19:19:29.242Z" +} \ No newline at end of file diff --git a/build/contracts/ERC20.json b/build/contracts/ERC20.json new file mode 100644 index 00000000..f6611016 --- /dev/null +++ b/build/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": [ + 6106 + ] + }, + "id": 6107, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6042, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:20" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 6106, + "linearizedBaseContracts": [ + 6106 + ], + "name": "ERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6044, + "name": "totalSupply", + "nodeType": "VariableDeclaration", + "scope": 6106, + "src": "44:23:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6043, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "44:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6051, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6047, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6046, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 6051, + "src": "90:11:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6045, + "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": 6050, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6049, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6051, + "src": "121:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6048, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "121:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "120:6:20" + }, + "scope": 6106, + "src": "71:56:20", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6060, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6053, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6060, + "src": "149:13:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6052, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "149:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6055, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6060, + "src": "164:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6054, + "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": 6059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6058, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6060, + "src": "199:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6057, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "199:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "198:6:20" + }, + "scope": 6106, + "src": "130:75:20", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6069, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6062, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6069, + "src": "227:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6061, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "227:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6064, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6069, + "src": "239:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6063, + "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": 6068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6067, + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 6069, + "src": "260:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6066, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "260:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "259:9:20" + }, + "scope": 6106, + "src": "209:60:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6080, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6071, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6080, + "src": "294:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6070, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "294:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6073, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6080, + "src": "308:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6072, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "308:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6075, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6080, + "src": "320:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6074, + "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": 6079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6078, + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 6080, + "src": "341:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6077, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "341:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "340:9:20" + }, + "scope": 6106, + "src": "272:78:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6089, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6082, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6089, + "src": "370:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6081, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "370:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6084, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6089, + "src": "387:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6083, + "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": 6088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6087, + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 6089, + "src": "408:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6086, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "408:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "407:9:20" + }, + "scope": 6106, + "src": "353:64:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 6097, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 6096, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6091, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "435:20:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6090, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "435:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6093, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "457:18:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "457:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6095, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "477:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6094, + "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": 6105, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 6104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6099, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6105, + "src": "507:21:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "507:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6101, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6105, + "src": "530:23:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "530:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6103, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6105, + "src": "555:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6102, + "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": 6107, + "src": "25:544:20" + } + ], + "src": "0:570:20" + }, + "legacyAST": { + "absolutePath": "rlc-token/contracts/ERC20.sol", + "exportedSymbols": { + "ERC20": [ + 6106 + ] + }, + "id": 6107, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6042, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:20" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 6106, + "linearizedBaseContracts": [ + 6106 + ], + "name": "ERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6044, + "name": "totalSupply", + "nodeType": "VariableDeclaration", + "scope": 6106, + "src": "44:23:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6043, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "44:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6051, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6047, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6046, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 6051, + "src": "90:11:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6045, + "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": 6050, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6049, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6051, + "src": "121:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6048, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "121:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "120:6:20" + }, + "scope": 6106, + "src": "71:56:20", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6060, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6053, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6060, + "src": "149:13:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6052, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "149:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6055, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6060, + "src": "164:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6054, + "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": 6059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6058, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6060, + "src": "199:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6057, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "199:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "198:6:20" + }, + "scope": 6106, + "src": "130:75:20", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6069, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6062, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6069, + "src": "227:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6061, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "227:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6064, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6069, + "src": "239:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6063, + "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": 6068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6067, + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 6069, + "src": "260:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6066, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "260:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "259:9:20" + }, + "scope": 6106, + "src": "209:60:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6080, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6071, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6080, + "src": "294:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6070, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "294:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6073, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6080, + "src": "308:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6072, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "308:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6075, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6080, + "src": "320:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6074, + "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": 6079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6078, + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 6080, + "src": "341:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6077, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "341:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "340:9:20" + }, + "scope": 6106, + "src": "272:78:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6089, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6082, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6089, + "src": "370:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6081, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "370:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6084, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6089, + "src": "387:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6083, + "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": 6088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6087, + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 6089, + "src": "408:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6086, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "408:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "407:9:20" + }, + "scope": 6106, + "src": "353:64:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 6097, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 6096, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6091, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "435:20:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6090, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "435:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6093, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "457:18:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "457:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6095, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "477:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6094, + "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": 6105, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 6104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6099, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6105, + "src": "507:21:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "507:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6101, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6105, + "src": "530:23:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "530:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6103, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6105, + "src": "555:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6102, + "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": 6107, + "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-04-12T18:32:30.813Z" +} \ No newline at end of file diff --git a/build/contracts/IexecAPI.json b/build/contracts/IexecAPI.json new file mode 100644 index 00000000..abfa8ba2 --- /dev/null +++ b/build/contracts/IexecAPI.json @@ -0,0 +1,6464 @@ +{ + "contractName": "IexecAPI", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_iexecHubAddress", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + } + ], + "name": "WorkOrder", + "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": "0x6060604052341561000f57600080fd5b604051602080610b518339810160405280805160008054600160a060020a03191633600160a060020a03908116919091179091559092508291508116151561005657600080fd5b60018054600160a060020a03909216600160a060020a031992831681179091556002805490921617905550610ac1806100906000396000f3006060604052600436106100745763ffffffff60e060020a6000350416634c0f53428114610079578063514d7067146100a3578063536e28001461018657806356af48ca1461020a57806379117b2e14610220578063a56620f714610236578063deff41c11461024c578063f2fde38b1461027b575b600080fd5b341561008457600080fd5b61008f60043561029a565b604051901515815260200160405180910390f35b34156100ae57600080fd5b61008f60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506103e595505050505050565b341561019157600080fd5b6102086004803590600160a060020a0360248035821692604435831692606435169160a49060843590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956020013516935061059192505050565b005b341561021557600080fd5b61008f6004356106e3565b341561022b57600080fd5b61008f6004356107c1565b341561024157600080fd5b61008f6004356108b3565b341561025757600080fd5b61025f6109eb565b604051600160a060020a03909116815260200160405180910390f35b341561028657600080fd5b610208600160a060020a03600435166109fa565b60008054819033600160a060020a039081169116146102b857600080fd5b600254600160a060020a031663e73333436040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156102f757600080fd5b5af1151561030457600080fd5b5050506040518051600154909250600160a060020a03808416925063095ea7b391168560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561036a57600080fd5b5af1151561037757600080fd5b50505060405180519050151561038c57600080fd5b6001547f5e9a23944fb3d019925ad84f8e1696436c1c7229787674a8ef8e08c776050df590600160a060020a031684604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b600084600160a060020a031633600160a060020a031614151561040757600080fd5b7f708463eccdafadafbe7022c0f4909af2e585cd08c63eaefa786159e156227e3785858585604051600160a060020a03851681526080602082018181529060408301906060840190840187818151815260200191508051906020019080838360005b83811015610481578082015183820152602001610469565b50505050905090810190601f1680156104ae5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156104e45780820151838201526020016104cc565b50505050905090810190601f1680156105115780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561054757808201518382015260200161052f565b50505050905090810190601f1680156105745780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a1506001949350505050565b600254600090600160a060020a031663536e28008989898989898960405160e060020a63ffffffff8a1602815260048101888152600160a060020a0380891660248401528781166044840152868116606484015284811660a4840152831660c483015260e060848301908152909160e40185818151815260200191508051906020019080838360005b8381101561063257808201518382015260200161061a565b50505050905090810190601f16801561065f5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b151561068357600080fd5b5af1151561069057600080fd5b5050506040518051905090507f6390dedee0bf0cde258f2f3d4d4b5ec3a03d5bbad3850033ae166acb369f065381604051600160a060020a03909116815260200160405180910390a15050505050505050565b6000805433600160a060020a039081169116146106ff57600080fd5b600254600160a060020a031663b6b55f258360405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561074757600080fd5b5af1151561075457600080fd5b50505060405180519050151561076957600080fd5b6001547fbaa053b1e17bc83190da4939238743339cd734d83d7413a6d3c117df790dd1a590600160a060020a031683604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b6000805433600160a060020a039081169116146107dd57600080fd5b600254600160a060020a0316632e1a7d4d8360405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561082557600080fd5b5af1151561083257600080fd5b50505060405180519050151561084757600080fd5b610850826108b3565b151561085b57600080fd5b6001547f2114edfbc766dd13ecebe139c59b657991c87b94518361feb5db86f05b0570f190600160a060020a031683604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b60008054819033600160a060020a039081169116146108d157600080fd5b600254600160a060020a031663e73333436040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561091057600080fd5b5af1151561091d57600080fd5b5050506040518051915050600160a060020a03811663a9059cbb338560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561097c57600080fd5b5af1151561098957600080fd5b50505060405180519050151561099e57600080fd5b7f3cab9babe8fba8f5cfad7cac37057781ced585f6af63c4e64aedbb12a5c96d993384604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b600054600160a060020a031681565b60005433600160a060020a03908116911614610a1557600080fd5b600160a060020a0381161515610a2a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820b6bb0105b59ac0d34d8af94ce0346a150861f58169ad4222fc8a65758fe303c70029", + "deployedBytecode": "0x6060604052600436106100745763ffffffff60e060020a6000350416634c0f53428114610079578063514d7067146100a3578063536e28001461018657806356af48ca1461020a57806379117b2e14610220578063a56620f714610236578063deff41c11461024c578063f2fde38b1461027b575b600080fd5b341561008457600080fd5b61008f60043561029a565b604051901515815260200160405180910390f35b34156100ae57600080fd5b61008f60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506103e595505050505050565b341561019157600080fd5b6102086004803590600160a060020a0360248035821692604435831692606435169160a49060843590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956020013516935061059192505050565b005b341561021557600080fd5b61008f6004356106e3565b341561022b57600080fd5b61008f6004356107c1565b341561024157600080fd5b61008f6004356108b3565b341561025757600080fd5b61025f6109eb565b604051600160a060020a03909116815260200160405180910390f35b341561028657600080fd5b610208600160a060020a03600435166109fa565b60008054819033600160a060020a039081169116146102b857600080fd5b600254600160a060020a031663e73333436040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156102f757600080fd5b5af1151561030457600080fd5b5050506040518051600154909250600160a060020a03808416925063095ea7b391168560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561036a57600080fd5b5af1151561037757600080fd5b50505060405180519050151561038c57600080fd5b6001547f5e9a23944fb3d019925ad84f8e1696436c1c7229787674a8ef8e08c776050df590600160a060020a031684604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b600084600160a060020a031633600160a060020a031614151561040757600080fd5b7f708463eccdafadafbe7022c0f4909af2e585cd08c63eaefa786159e156227e3785858585604051600160a060020a03851681526080602082018181529060408301906060840190840187818151815260200191508051906020019080838360005b83811015610481578082015183820152602001610469565b50505050905090810190601f1680156104ae5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156104e45780820151838201526020016104cc565b50505050905090810190601f1680156105115780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561054757808201518382015260200161052f565b50505050905090810190601f1680156105745780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a1506001949350505050565b600254600090600160a060020a031663536e28008989898989898960405160e060020a63ffffffff8a1602815260048101888152600160a060020a0380891660248401528781166044840152868116606484015284811660a4840152831660c483015260e060848301908152909160e40185818151815260200191508051906020019080838360005b8381101561063257808201518382015260200161061a565b50505050905090810190601f16801561065f5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b151561068357600080fd5b5af1151561069057600080fd5b5050506040518051905090507f6390dedee0bf0cde258f2f3d4d4b5ec3a03d5bbad3850033ae166acb369f065381604051600160a060020a03909116815260200160405180910390a15050505050505050565b6000805433600160a060020a039081169116146106ff57600080fd5b600254600160a060020a031663b6b55f258360405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561074757600080fd5b5af1151561075457600080fd5b50505060405180519050151561076957600080fd5b6001547fbaa053b1e17bc83190da4939238743339cd734d83d7413a6d3c117df790dd1a590600160a060020a031683604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b6000805433600160a060020a039081169116146107dd57600080fd5b600254600160a060020a0316632e1a7d4d8360405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561082557600080fd5b5af1151561083257600080fd5b50505060405180519050151561084757600080fd5b610850826108b3565b151561085b57600080fd5b6001547f2114edfbc766dd13ecebe139c59b657991c87b94518361feb5db86f05b0570f190600160a060020a031683604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b60008054819033600160a060020a039081169116146108d157600080fd5b600254600160a060020a031663e73333436040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561091057600080fd5b5af1151561091d57600080fd5b5050506040518051915050600160a060020a03811663a9059cbb338560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561097c57600080fd5b5af1151561098957600080fd5b50505060405180519050151561099e57600080fd5b7f3cab9babe8fba8f5cfad7cac37057781ced585f6af63c4e64aedbb12a5c96d993384604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b600054600160a060020a031681565b60005433600160a060020a03908116911614610a1557600080fd5b600160a060020a0381161515610a2a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820b6bb0105b59ac0d34d8af94ce0346a150861f58169ad4222fc8a65758fe303c70029", + "sourceMap": "163:2036:4:-;;;566:94;;;;;;;;;;;;;;;;;;;;;;637:7:14;:20;;-1:-1:-1;;;;;;637:20:14;647:10;-1:-1:-1;;;;;637:20:14;;;;;;;;;;566:94:4;;-1:-1:-1;566:94:4;;-1:-1:-1;334:30:7;;;;326:39;;;;;;369:15;:36;;-1:-1:-1;;;;;369:36:7;;;-1:-1:-1;;;;;;369:36:7;;;;;;;;409:17;:55;;;;;;;;-1:-1:-1;163:2036:4;;;;;;", + "deployedSourceMap": "163:2036:4:-;;;;;;;;;-1:-1:-1;;;163:2036:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1245:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1011:231;;;;;;;;;;;;;-1:-1:-1;;;;;1011:231:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1011:231:4;;-1:-1:-1;1011:231:4;;-1:-1:-1;;;;;;1011:231:4;663:345;;;;;;;;;;;;;;-1:-1:-1;;;;;663:345:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;663:345:4;;-1:-1:-1;;;;;;;663:345:4;;;;;;;;;;-1:-1:-1;663:345:4;;-1:-1:-1;;;663:345:4;;;1744:198;;;;;;;;;;;;;;1945:249;;;;;;;;;;;;;;1491:250;;;;;;;;;;;;;;238:22:14;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:22:14;;;;;;;;;;;;;;818:176;;;;;;;;;;-1:-1:-1;;;;;818:176:14;;;;;1245:243:4;1312:4;472:7:14;;1312:4:4;;458:10:14;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;1337:17:4;;-1:-1:-1;;;;;1337:17:4;:31;:33;;;;;-1:-1:-1;;;1337:33:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1395:15;;1337:33;;-1:-1:-1;;;;;;1383:11:4;;;;-1:-1:-1;1383:11:4;;1395:15;1412:6;1383:36;;-1:-1:-1;;;1383:36:4;;;;;;-1:-1:-1;;;;;1383:36:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1375:45;;;;;;;;1445:15;;1429:40;;-1:-1:-1;;;;;1445:15:4;1462:6;1429:40;;-1:-1:-1;;;;;1429:40:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1480:4:4;;1245:243;-1:-1:-1;;1245:243:4:o;1011:231::-;1127:4;1160:5;-1:-1:-1;;;;;1146:19:4;:10;-1:-1:-1;;;;;1146:19:4;;1138:28;;;;;;;;1175:48;1193:5;1200:7;1209;1218:4;1175:48;;-1:-1:-1;;;;;1175: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;1175: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;1175: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;1175:48:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1234:4:4;1011:231;;;;;;:::o;663:345::-;867:17;;852:12;;-1:-1:-1;;;;;867:17:4;:33;901:15;918:11;931:4;937:8;947:7;956:9;967:12;867:113;;-1:-1:-1;;;867:113:4;;;;;;;;;;;;-1:-1:-1;;;;;867: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;867:113:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;852:128;;989:15;999:4;989:15;;-1:-1:-1;;;;;989:15:4;;;;;;;;;;;;;;663:345;;;;;;;;:::o;1744:198::-;1816:4;472:7:14;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;1835:17:4;;-1:-1:-1;;;;;1835:17:4;:25;1861:6;1835:33;;-1:-1:-1;;;1835:33:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1827:42;;;;;;;;1899:15;;1878:45;;-1:-1:-1;;;;;1899:15:4;1916:6;1878:45;;-1:-1:-1;;;;;1878:45:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1934:4:4;1744:198;;;:::o;1945:249::-;2020:4;472:7:14;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;2039:17:4;;-1:-1:-1;;;;;2039:17:4;:26;2066:6;2039:34;;-1:-1:-1;;;2039:34:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2031:43;;;;;;;;2086:31;2110:6;2086:23;:31::i;:::-;2078:40;;;;;;;;2151:15;;2127:48;;-1:-1:-1;;;;;2151:15:4;2168:6;2127:48;;-1:-1:-1;;;;;2127:48:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2186:4:4;1945:249;;;:::o;1491:250::-;1566:4;472:7:14;;1566:4:4;;458:10:14;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;1591:17:4;;-1:-1:-1;;;;;1591:17:4;:31;:33;;;;;-1:-1:-1;;;1591:33:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;1637:12:4;;;1650:10;1662:6;1637:32;;-1:-1:-1;;;1637:32:4;;;;;;-1:-1:-1;;;;;1637:32:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1629:41;;;;;;;;1679:43;1703:10;1715:6;1679:43;;-1:-1:-1;;;;;1679:43:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1733:4:4;;1491:250;-1:-1:-1;;1491:250:4:o;238:22:14:-;;;-1:-1:-1;;;;;238:22:14;;:::o;818:176::-;472:7;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;894:23:14;;;;886:32;;;;;;948:7;;-1:-1:-1;;;;;927:40:14;;;;948:7;927:40;;;;;;;;;;971:7;:19;;-1:-1:-1;;971:19:14;-1:-1:-1;;;;;971:19:14;;;;;;;;;;818:176::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 WorkOrder (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\t// Constructor\n\tfunction IexecAPI(address _iexecHubAddress)\n\tIexecHubAccessor(_iexecHubAddress)\n\tpublic\n\t{\n\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 WorkOrder(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 == _woid);\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 = RLC(iexecHubInterface.getRLCAddress());\n\t\trequire(rlc.approve(iexecHubAddress, amount));\n\t\temit ApproveIexecHub(iexecHubAddress, amount);\n\t\treturn true;\n\t}\n\n\tfunction withdrawRLCFromIexecAPI(uint256 amount) public onlyOwner returns (bool)\n\t{\n\t\tRLC rlc = RLC(iexecHubInterface.getRLCAddress());\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(iexecHubAddress, 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(iexecHubAddress, 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": [ + 624 + ] + }, + "id": 625, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 389, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:4" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 390, + "nodeType": "ImportDirective", + "scope": 625, + "sourceUnit": 3509, + "src": "25:25:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 391, + "nodeType": "ImportDirective", + "scope": 625, + "sourceUnit": 2362, + "src": "51:32:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", + "file": "./IexecCallbackInterface.sol", + "id": 392, + "nodeType": "ImportDirective", + "scope": 625, + "sourceUnit": 651, + "src": "84:38:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/RLC.sol", + "file": "rlc-token/contracts/RLC.sol", + "id": 393, + "nodeType": "ImportDirective", + "scope": 625, + "sourceUnit": 6477, + "src": "123:37:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 394, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "184:9:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 395, + "nodeType": "InheritanceSpecifier", + "src": "184:9:4" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 396, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2361, + "src": "195:16:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2361", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 397, + "nodeType": "InheritanceSpecifier", + "src": "195:16:4" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 398, + "name": "IexecCallbackInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 650, + "src": "213:22:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecCallbackInterface_$650", + "typeString": "contract IexecCallbackInterface" + } + }, + "id": 399, + "nodeType": "InheritanceSpecifier", + "src": "213:22:4" + } + ], + "contractDependencies": [ + 650, + 2361, + 3508 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 624, + "linearizedBaseContracts": [ + 624, + 650, + 2361, + 3508 + ], + "name": "IexecAPI", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 403, + "name": "WorkOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 401, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 403, + "src": "269:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 400, + "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": 409, + "name": "WithdrawRLCFromIexecAPI", + "nodeType": "EventDefinition", + "parameters": { + "id": 408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 405, + "indexed": false, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 409, + "src": "315:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "315:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 407, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 409, + "src": "333:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 406, + "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": 415, + "name": "ApproveIexecHub", + "nodeType": "EventDefinition", + "parameters": { + "id": 414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 411, + "indexed": false, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "381:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 410, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "381:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 413, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "399:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 412, + "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": 421, + "name": "DepositRLCOnIexecHub", + "nodeType": "EventDefinition", + "parameters": { + "id": 420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 417, + "indexed": false, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "447:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "447:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 419, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "465:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 418, + "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": 427, + "name": "WithdrawRLCFromIexecHub", + "nodeType": "EventDefinition", + "parameters": { + "id": 426, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 423, + "indexed": false, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 427, + "src": "513:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 422, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "513:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 425, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 427, + "src": "531:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 424, + "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" + }, + { + "body": { + "id": 435, + "nodeType": "Block", + "src": "655:5:4", + "statements": [] + }, + "documentation": null, + "id": 436, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 432, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 429, + "src": "628:16:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 433, + "modifierName": { + "argumentTypes": null, + "id": 431, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "611:16:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2361_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "611:34:4" + } + ], + "name": "IexecAPI", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 430, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 429, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 436, + "src": "584:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 428, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "584:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "583:26:4" + }, + "payable": false, + "returnParameters": { + "id": 434, + "nodeType": "ParameterList", + "parameters": [], + "src": "655:0:4" + }, + "scope": 624, + "src": "566:94:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 470, + "nodeType": "Block", + "src": "848:160:4", + "statements": [ + { + "assignments": [ + 454 + ], + "declarations": [ + { + "constant": false, + "id": 454, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "852:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 453, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "852:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 465, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 457, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 438, + "src": "901:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 458, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 440, + "src": "918:11:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 459, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 442, + "src": "931:4:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 460, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 444, + "src": "937:8:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 461, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 446, + "src": "947:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 462, + "name": "_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 448, + "src": "956:9:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 463, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 450, + "src": "967: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": 455, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "867:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "buyForWorkOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2439, + "src": "867: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": 464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "867:113:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "852:128:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 467, + "name": "woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "999:4:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 466, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 403, + "src": "989:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "989:15:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 469, + "nodeType": "EmitStatement", + "src": "984:20:4" + } + ] + }, + "documentation": null, + "id": 471, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyForWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 438, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "691:23:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 437, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "691:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 440, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "718:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 439, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "718:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 442, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "741:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 441, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "741:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 444, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "757:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 443, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "757:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 446, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "777:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 445, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "777:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 448, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "796:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 447, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "796:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 450, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "817:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "817:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "687:151:4" + }, + "payable": false, + "returnParameters": { + "id": 452, + "nodeType": "ParameterList", + "parameters": [], + "src": "848:0:4" + }, + "scope": 624, + "src": "663:345:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 500, + "nodeType": "Block", + "src": "1134:108:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 485, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1146:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1146:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 487, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 473, + "src": "1160:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1146:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 484, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1138:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1138:28:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 490, + "nodeType": "ExpressionStatement", + "src": "1138:28:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 492, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 473, + "src": "1193:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 493, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 475, + "src": "1200:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 494, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "1209:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 495, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 479, + "src": "1218: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": 491, + "name": "WorkOrderCallback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 649, + "src": "1175: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": 496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1175:48:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 497, + "nodeType": "EmitStatement", + "src": "1170:53:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1234:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 483, + "id": 499, + "nodeType": "Return", + "src": "1227:11:4" + } + ] + }, + "documentation": null, + "id": 501, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "workOrderCallback", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 473, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 501, + "src": "1041:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 472, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1041:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 475, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 501, + "src": "1058:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 474, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1058:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 477, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 501, + "src": "1077:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 476, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1077:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 479, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 501, + "src": "1096:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 478, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1096:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1037:72:4" + }, + "payable": false, + "returnParameters": { + "id": 483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 482, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 501, + "src": "1127:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 481, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1127:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1126:6:4" + }, + "scope": 624, + "src": "1011:231:4", + "stateMutability": "nonpayable", + "superFunction": 639, + "visibility": "public" + }, + { + "body": { + "id": 533, + "nodeType": "Block", + "src": "1319:169:4", + "statements": [ + { + "assignments": [ + 511 + ], + "declarations": [ + { + "constant": false, + "id": 511, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 534, + "src": "1323:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 510, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6476, + "src": "1323:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 517, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 513, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "1337:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getRLCAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 2555, + "src": "1337:31:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1337:33:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 512, + "name": "RLC", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6476, + "src": "1333:3:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_RLC_$6476_$", + "typeString": "type(contract RLC)" + } + }, + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1333:38:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1323:48:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 521, + "name": "iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2323, + "src": "1395:15:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 522, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 503, + "src": "1412:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 519, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "1383:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 6427, + "src": "1383:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1383:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 518, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1375:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1375:45:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 525, + "nodeType": "ExpressionStatement", + "src": "1375:45:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 527, + "name": "iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2323, + "src": "1445:15:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 528, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 503, + "src": "1462:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 526, + "name": "ApproveIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 415, + "src": "1429:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1429:40:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 530, + "nodeType": "EmitStatement", + "src": "1424:45:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1480:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 509, + "id": 532, + "nodeType": "Return", + "src": "1473:11:4" + } + ] + }, + "documentation": null, + "id": 534, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 506, + "modifierName": { + "argumentTypes": null, + "id": 505, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "1293:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1293:9:4" + } + ], + "name": "approveIexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 504, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 503, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 534, + "src": "1270:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 502, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1270:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1269:16:4" + }, + "payable": false, + "returnParameters": { + "id": 509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 508, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 534, + "src": "1312:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 507, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1312:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1311:6:4" + }, + "scope": 624, + "src": "1245:243:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 568, + "nodeType": "Block", + "src": "1573:168:4", + "statements": [ + { + "assignments": [ + 544 + ], + "declarations": [ + { + "constant": false, + "id": 544, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 569, + "src": "1577:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 543, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6476, + "src": "1577:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 550, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 546, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "1591:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getRLCAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 2555, + "src": "1591:31:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1591:33:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 545, + "name": "RLC", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6476, + "src": "1587:3:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_RLC_$6476_$", + "typeString": "type(contract RLC)" + } + }, + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1587:38:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1577:48:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 554, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1650:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1650:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 556, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 536, + "src": "1662:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 552, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "1637:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 6323, + "src": "1637:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1637:32:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 551, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1629:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1629:41:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 559, + "nodeType": "ExpressionStatement", + "src": "1629:41:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 561, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1703:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 563, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 536, + "src": "1715:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 560, + "name": "WithdrawRLCFromIexecAPI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 409, + "src": "1679:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1679:43:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 565, + "nodeType": "EmitStatement", + "src": "1674:48:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1733:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 542, + "id": 567, + "nodeType": "Return", + "src": "1726:11:4" + } + ] + }, + "documentation": null, + "id": 569, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 539, + "modifierName": { + "argumentTypes": null, + "id": 538, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "1547:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1547:9:4" + } + ], + "name": "withdrawRLCFromIexecAPI", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 536, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 569, + "src": "1524:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 535, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1524:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1523:16:4" + }, + "payable": false, + "returnParameters": { + "id": 542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 541, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 569, + "src": "1566:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 540, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1566:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1565:6:4" + }, + "scope": 624, + "src": "1491:250:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 592, + "nodeType": "Block", + "src": "1823:119:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 581, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 571, + "src": "1861:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 579, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "1835:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2667, + "src": "1835:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) external returns (bool)" + } + }, + "id": 582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1835:33:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 578, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1827:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1827:42:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 584, + "nodeType": "ExpressionStatement", + "src": "1827:42:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 586, + "name": "iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2323, + "src": "1899:15:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 587, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 571, + "src": "1916:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 585, + "name": "DepositRLCOnIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 421, + "src": "1878:20:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1878:45:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 589, + "nodeType": "EmitStatement", + "src": "1873:50:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1934:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 577, + "id": 591, + "nodeType": "Return", + "src": "1927:11:4" + } + ] + }, + "documentation": null, + "id": 593, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 574, + "modifierName": { + "argumentTypes": null, + "id": 573, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "1797:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1797:9:4" + } + ], + "name": "depositRLCOnIexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 571, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "1774:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 570, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1774:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1773:16:4" + }, + "payable": false, + "returnParameters": { + "id": 577, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 576, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "1816:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 575, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1816:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1815:6:4" + }, + "scope": 624, + "src": "1744:198:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 622, + "nodeType": "Block", + "src": "2027:167:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 605, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 595, + "src": "2066:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 603, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "2039:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "withdraw", + "nodeType": "MemberAccess", + "referencedDeclaration": 2674, + "src": "2039:26:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) external returns (bool)" + } + }, + "id": 606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2039:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 602, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2031:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2031:43:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 608, + "nodeType": "ExpressionStatement", + "src": "2031:43:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 611, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 595, + "src": "2110:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 610, + "name": "withdrawRLCFromIexecAPI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 569, + "src": "2086:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" + } + }, + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2086:31:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 609, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2078:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2078:40:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 614, + "nodeType": "ExpressionStatement", + "src": "2078:40:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 616, + "name": "iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2323, + "src": "2151:15:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 617, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 595, + "src": "2168:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 615, + "name": "WithdrawRLCFromIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 427, + "src": "2127:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2127:48:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 619, + "nodeType": "EmitStatement", + "src": "2122:53:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2186:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 601, + "id": 621, + "nodeType": "Return", + "src": "2179:11:4" + } + ] + }, + "documentation": null, + "id": 623, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 598, + "modifierName": { + "argumentTypes": null, + "id": 597, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "2001:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2001:9:4" + } + ], + "name": "withdrawRLCFromIexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 595, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 623, + "src": "1978:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 594, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1978:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1977:16:4" + }, + "payable": false, + "returnParameters": { + "id": 601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 600, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 623, + "src": "2020:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 599, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2020:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2019:6:4" + }, + "scope": 624, + "src": "1945:249:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 625, + "src": "163:2036:4" + } + ], + "src": "0:2200:4" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecAPI.sol", + "exportedSymbols": { + "IexecAPI": [ + 624 + ] + }, + "id": 625, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 389, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:4" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 390, + "nodeType": "ImportDirective", + "scope": 625, + "sourceUnit": 3509, + "src": "25:25:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 391, + "nodeType": "ImportDirective", + "scope": 625, + "sourceUnit": 2362, + "src": "51:32:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", + "file": "./IexecCallbackInterface.sol", + "id": 392, + "nodeType": "ImportDirective", + "scope": 625, + "sourceUnit": 651, + "src": "84:38:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/RLC.sol", + "file": "rlc-token/contracts/RLC.sol", + "id": 393, + "nodeType": "ImportDirective", + "scope": 625, + "sourceUnit": 6477, + "src": "123:37:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 394, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "184:9:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 395, + "nodeType": "InheritanceSpecifier", + "src": "184:9:4" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 396, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2361, + "src": "195:16:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2361", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 397, + "nodeType": "InheritanceSpecifier", + "src": "195:16:4" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 398, + "name": "IexecCallbackInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 650, + "src": "213:22:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecCallbackInterface_$650", + "typeString": "contract IexecCallbackInterface" + } + }, + "id": 399, + "nodeType": "InheritanceSpecifier", + "src": "213:22:4" + } + ], + "contractDependencies": [ + 650, + 2361, + 3508 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 624, + "linearizedBaseContracts": [ + 624, + 650, + 2361, + 3508 + ], + "name": "IexecAPI", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 403, + "name": "WorkOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 401, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 403, + "src": "269:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 400, + "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": 409, + "name": "WithdrawRLCFromIexecAPI", + "nodeType": "EventDefinition", + "parameters": { + "id": 408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 405, + "indexed": false, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 409, + "src": "315:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "315:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 407, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 409, + "src": "333:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 406, + "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": 415, + "name": "ApproveIexecHub", + "nodeType": "EventDefinition", + "parameters": { + "id": 414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 411, + "indexed": false, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "381:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 410, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "381:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 413, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "399:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 412, + "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": 421, + "name": "DepositRLCOnIexecHub", + "nodeType": "EventDefinition", + "parameters": { + "id": 420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 417, + "indexed": false, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "447:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "447:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 419, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "465:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 418, + "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": 427, + "name": "WithdrawRLCFromIexecHub", + "nodeType": "EventDefinition", + "parameters": { + "id": 426, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 423, + "indexed": false, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 427, + "src": "513:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 422, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "513:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 425, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 427, + "src": "531:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 424, + "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" + }, + { + "body": { + "id": 435, + "nodeType": "Block", + "src": "655:5:4", + "statements": [] + }, + "documentation": null, + "id": 436, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 432, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 429, + "src": "628:16:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 433, + "modifierName": { + "argumentTypes": null, + "id": 431, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "611:16:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2361_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "611:34:4" + } + ], + "name": "IexecAPI", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 430, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 429, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 436, + "src": "584:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 428, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "584:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "583:26:4" + }, + "payable": false, + "returnParameters": { + "id": 434, + "nodeType": "ParameterList", + "parameters": [], + "src": "655:0:4" + }, + "scope": 624, + "src": "566:94:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 470, + "nodeType": "Block", + "src": "848:160:4", + "statements": [ + { + "assignments": [ + 454 + ], + "declarations": [ + { + "constant": false, + "id": 454, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "852:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 453, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "852:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 465, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 457, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 438, + "src": "901:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 458, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 440, + "src": "918:11:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 459, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 442, + "src": "931:4:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 460, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 444, + "src": "937:8:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 461, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 446, + "src": "947:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 462, + "name": "_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 448, + "src": "956:9:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 463, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 450, + "src": "967: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": 455, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "867:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "buyForWorkOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2439, + "src": "867: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": 464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "867:113:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "852:128:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 467, + "name": "woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "999:4:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 466, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 403, + "src": "989:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "989:15:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 469, + "nodeType": "EmitStatement", + "src": "984:20:4" + } + ] + }, + "documentation": null, + "id": 471, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyForWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 438, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "691:23:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 437, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "691:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 440, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "718:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 439, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "718:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 442, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "741:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 441, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "741:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 444, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "757:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 443, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "757:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 446, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "777:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 445, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "777:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 448, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "796:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 447, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "796:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 450, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "817:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "817:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "687:151:4" + }, + "payable": false, + "returnParameters": { + "id": 452, + "nodeType": "ParameterList", + "parameters": [], + "src": "848:0:4" + }, + "scope": 624, + "src": "663:345:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 500, + "nodeType": "Block", + "src": "1134:108:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 485, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1146:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1146:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 487, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 473, + "src": "1160:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1146:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 484, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1138:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1138:28:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 490, + "nodeType": "ExpressionStatement", + "src": "1138:28:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 492, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 473, + "src": "1193:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 493, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 475, + "src": "1200:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 494, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "1209:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 495, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 479, + "src": "1218: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": 491, + "name": "WorkOrderCallback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 649, + "src": "1175: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": 496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1175:48:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 497, + "nodeType": "EmitStatement", + "src": "1170:53:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1234:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 483, + "id": 499, + "nodeType": "Return", + "src": "1227:11:4" + } + ] + }, + "documentation": null, + "id": 501, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "workOrderCallback", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 473, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 501, + "src": "1041:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 472, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1041:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 475, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 501, + "src": "1058:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 474, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1058:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 477, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 501, + "src": "1077:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 476, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1077:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 479, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 501, + "src": "1096:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 478, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1096:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1037:72:4" + }, + "payable": false, + "returnParameters": { + "id": 483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 482, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 501, + "src": "1127:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 481, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1127:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1126:6:4" + }, + "scope": 624, + "src": "1011:231:4", + "stateMutability": "nonpayable", + "superFunction": 639, + "visibility": "public" + }, + { + "body": { + "id": 533, + "nodeType": "Block", + "src": "1319:169:4", + "statements": [ + { + "assignments": [ + 511 + ], + "declarations": [ + { + "constant": false, + "id": 511, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 534, + "src": "1323:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 510, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6476, + "src": "1323:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 517, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 513, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "1337:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getRLCAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 2555, + "src": "1337:31:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1337:33:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 512, + "name": "RLC", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6476, + "src": "1333:3:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_RLC_$6476_$", + "typeString": "type(contract RLC)" + } + }, + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1333:38:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1323:48:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 521, + "name": "iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2323, + "src": "1395:15:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 522, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 503, + "src": "1412:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 519, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "1383:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 6427, + "src": "1383:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1383:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 518, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1375:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1375:45:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 525, + "nodeType": "ExpressionStatement", + "src": "1375:45:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 527, + "name": "iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2323, + "src": "1445:15:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 528, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 503, + "src": "1462:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 526, + "name": "ApproveIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 415, + "src": "1429:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1429:40:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 530, + "nodeType": "EmitStatement", + "src": "1424:45:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1480:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 509, + "id": 532, + "nodeType": "Return", + "src": "1473:11:4" + } + ] + }, + "documentation": null, + "id": 534, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 506, + "modifierName": { + "argumentTypes": null, + "id": 505, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "1293:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1293:9:4" + } + ], + "name": "approveIexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 504, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 503, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 534, + "src": "1270:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 502, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1270:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1269:16:4" + }, + "payable": false, + "returnParameters": { + "id": 509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 508, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 534, + "src": "1312:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 507, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1312:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1311:6:4" + }, + "scope": 624, + "src": "1245:243:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 568, + "nodeType": "Block", + "src": "1573:168:4", + "statements": [ + { + "assignments": [ + 544 + ], + "declarations": [ + { + "constant": false, + "id": 544, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 569, + "src": "1577:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 543, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6476, + "src": "1577:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 550, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 546, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "1591:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getRLCAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 2555, + "src": "1591:31:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1591:33:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 545, + "name": "RLC", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6476, + "src": "1587:3:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_RLC_$6476_$", + "typeString": "type(contract RLC)" + } + }, + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1587:38:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1577:48:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 554, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1650:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1650:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 556, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 536, + "src": "1662:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 552, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "1637:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 6323, + "src": "1637:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1637:32:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 551, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1629:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1629:41:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 559, + "nodeType": "ExpressionStatement", + "src": "1629:41:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 561, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1703:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1703:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 563, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 536, + "src": "1715:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 560, + "name": "WithdrawRLCFromIexecAPI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 409, + "src": "1679:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1679:43:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 565, + "nodeType": "EmitStatement", + "src": "1674:48:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1733:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 542, + "id": 567, + "nodeType": "Return", + "src": "1726:11:4" + } + ] + }, + "documentation": null, + "id": 569, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 539, + "modifierName": { + "argumentTypes": null, + "id": 538, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "1547:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1547:9:4" + } + ], + "name": "withdrawRLCFromIexecAPI", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 536, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 569, + "src": "1524:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 535, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1524:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1523:16:4" + }, + "payable": false, + "returnParameters": { + "id": 542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 541, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 569, + "src": "1566:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 540, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1566:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1565:6:4" + }, + "scope": 624, + "src": "1491:250:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 592, + "nodeType": "Block", + "src": "1823:119:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 581, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 571, + "src": "1861:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 579, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "1835:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2667, + "src": "1835:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) external returns (bool)" + } + }, + "id": 582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1835:33:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 578, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1827:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1827:42:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 584, + "nodeType": "ExpressionStatement", + "src": "1827:42:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 586, + "name": "iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2323, + "src": "1899:15:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 587, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 571, + "src": "1916:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 585, + "name": "DepositRLCOnIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 421, + "src": "1878:20:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1878:45:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 589, + "nodeType": "EmitStatement", + "src": "1873:50:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1934:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 577, + "id": 591, + "nodeType": "Return", + "src": "1927:11:4" + } + ] + }, + "documentation": null, + "id": 593, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 574, + "modifierName": { + "argumentTypes": null, + "id": 573, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "1797:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1797:9:4" + } + ], + "name": "depositRLCOnIexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 571, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "1774:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 570, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1774:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1773:16:4" + }, + "payable": false, + "returnParameters": { + "id": 577, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 576, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "1816:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 575, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1816:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1815:6:4" + }, + "scope": 624, + "src": "1744:198:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 622, + "nodeType": "Block", + "src": "2027:167:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 605, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 595, + "src": "2066:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 603, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "2039:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "withdraw", + "nodeType": "MemberAccess", + "referencedDeclaration": 2674, + "src": "2039:26:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) external returns (bool)" + } + }, + "id": 606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2039:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 602, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2031:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2031:43:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 608, + "nodeType": "ExpressionStatement", + "src": "2031:43:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 611, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 595, + "src": "2110:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 610, + "name": "withdrawRLCFromIexecAPI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 569, + "src": "2086:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" + } + }, + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2086:31:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 609, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2078:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2078:40:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 614, + "nodeType": "ExpressionStatement", + "src": "2078:40:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 616, + "name": "iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2323, + "src": "2151:15:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 617, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 595, + "src": "2168:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 615, + "name": "WithdrawRLCFromIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 427, + "src": "2127:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2127:48:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 619, + "nodeType": "EmitStatement", + "src": "2122:53:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2186:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 601, + "id": 621, + "nodeType": "Return", + "src": "2179:11:4" + } + ] + }, + "documentation": null, + "id": 623, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 598, + "modifierName": { + "argumentTypes": null, + "id": 597, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "2001:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2001:9:4" + } + ], + "name": "withdrawRLCFromIexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 595, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 623, + "src": "1978:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 594, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1978:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1977:16:4" + }, + "payable": false, + "returnParameters": { + "id": 601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 600, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 623, + "src": "2020:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 599, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2020:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2019:6:4" + }, + "scope": 624, + "src": "1945:249:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 625, + "src": "163:2036:4" + } + ], + "src": "0:2200:4" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T18:32:30.783Z" +} \ No newline at end of file diff --git a/build/contracts/IexecCallbackInterface.json b/build/contracts/IexecCallbackInterface.json new file mode 100644 index 00000000..7392d9c8 --- /dev/null +++ b/build/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": [ + 650 + ] + }, + "id": 651, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 626, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:5" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 650, + "linearizedBaseContracts": [ + 650 + ], + "name": "IexecCallbackInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 639, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "workOrderCallback", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 628, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "93:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 627, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "93:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 630, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "110:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 629, + "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": 632, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "129:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 631, + "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": 634, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "148:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 633, + "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": 638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 637, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "178:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 636, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "178:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "177:6:5" + }, + "scope": 650, + "src": "63:121:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 649, + "name": "WorkOrderCallback", + "nodeType": "EventDefinition", + "parameters": { + "id": 648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 641, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "211:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 640, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "211:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 643, + "indexed": false, + "name": "stdout", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "225:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 642, + "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": 645, + "indexed": false, + "name": "stderr", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "240:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 644, + "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": 647, + "indexed": false, + "name": "uri", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "255:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 646, + "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": 651, + "src": "26:243:5" + } + ], + "src": "0:270:5" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", + "exportedSymbols": { + "IexecCallbackInterface": [ + 650 + ] + }, + "id": 651, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 626, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:5" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 650, + "linearizedBaseContracts": [ + 650 + ], + "name": "IexecCallbackInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 639, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "workOrderCallback", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 628, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "93:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 627, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "93:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 630, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "110:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 629, + "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": 632, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "129:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 631, + "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": 634, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "148:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 633, + "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": 638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 637, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "178:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 636, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "178:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "177:6:5" + }, + "scope": 650, + "src": "63:121:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 649, + "name": "WorkOrderCallback", + "nodeType": "EventDefinition", + "parameters": { + "id": 648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 641, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "211:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 640, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "211:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 643, + "indexed": false, + "name": "stdout", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "225:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 642, + "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": 645, + "indexed": false, + "name": "stderr", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "240:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 644, + "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": 647, + "indexed": false, + "name": "uri", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "255:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 646, + "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": 651, + "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-04-12T18:32:30.784Z" +} \ No newline at end of file diff --git a/build/contracts/IexecHub.json b/build/contracts/IexecHub.json new file mode 100644 index 00000000..7a7da535 --- /dev/null +++ b/build/contracts/IexecHub.json @@ -0,0 +1,47295 @@ +{ + "contractName": "IexecHub", + "abi": [ + { + "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": "tokenAddress", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "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": "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": "marketplaceAddress", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "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": 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": "getRLCAddress", + "outputs": [ + { + "name": "rlcAddress", + "type": "address" + } + ], + "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": "0x6060604052341561000f57600080fd5b6144628061001e6000396000f300606060405260043610620002095763ffffffff60e060020a6000350416630800b89e81146200020e5780630c91f2d014620002325780631708d72514620002765780631f8717261462000298578063234a0ee714620002c3578063298503d914620002f55780632e1a7d4d146200038d57806332baa8d914620003a657806339b7312214620003bf5780634f73b8e614620003f0578063536e280014620004065780635f515226146200045057806366de5a4f146200048a57806369e99b5c14620004b55780636b4f686514620004d75780636e885bd71462000502578063747bcd721462000518578063817e8332146200052e578063835436b414620005445780638981d07714620005665780638986916314620005915780638c0f8e1114620005b35780639d76ea5814620005d55780639fdf962514620005eb578063a0efe255146200061b578063ac26109e1462000631578063b017c0361462000656578063b218cf15146200066c578063b6b55f25146200068e578063b6b57ebd14620006a7578063b6b8c3cd146200078d578063b7b6e97814620007a3578063bc04d77b14620007c8578063be02ee6e14620007de578063daa17f491462000800578063e73333431462000816578063e760a11a146200082c578063eeeb2ba01462000866578063f3052d261462000974578063f69f190c146200098d578063fc06a87714620009d1575b600080fd5b34156200021a57600080fd5b62000230600160a060020a036004351662000a02565b005b34156200023e57600080fd5b62000262600160a060020a0360043581169060243516604435606435151562000a7a565b604051901515815260200160405180910390f35b34156200028257600080fd5b62000262600160a060020a036004351662000ba5565b3415620002a457600080fd5b620002b160043562000c0e565b60405190815260200160405180910390f35b3415620002cf57600080fd5b620002d962000c3d565b604051600160a060020a03909116815260200160405180910390f35b34156200030157600080fd5b620002b160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650509335935062000c4c92505050565b34156200039957600080fd5b6200026260043562000dfa565b3415620003b257600080fd5b6200026260043562000f02565b3415620003cb57600080fd5b620002d960246004803582810192908201359181359160443590810191013562000f15565b3415620003fc57600080fd5b620002b162001053565b34156200041257600080fd5b620002d96004803590600160a060020a03602480358216926044358316926064358116926084359081019201359060a43581169060c4351662001059565b34156200045c57600080fd5b62000472600160a060020a036004351662001262565b60405191825260208201526040908101905180910390f35b34156200049657600080fd5b620002d960246004803582810192910135903560443560643562001285565b3415620004c157600080fd5b620002b1600160a060020a0360043516620013b2565b3415620004e357600080fd5b62000262600160a060020a0360043581169060243516604435620013c4565b34156200050e57600080fd5b620002d96200145e565b34156200052457600080fd5b620002b16200146d565b34156200053a57600080fd5b620002b162001472565b34156200055057600080fd5b62000262600160a060020a036004351662001477565b34156200057257600080fd5b62000262600160a060020a0360043581169060243516604435620014e0565b34156200059d57600080fd5b62000262600160a060020a036004351662001564565b3415620005bf57600080fd5b620002b1600160a060020a036004351662001b19565b3415620005e157600080fd5b620002d962001b34565b3415620005f757600080fd5b62000262600160a060020a0360043581169060243516604435606435151562001b43565b34156200062757600080fd5b620002b162001c98565b34156200063d57600080fd5b62000262600160a060020a036004351660243562001c9e565b34156200066257600080fd5b620002d962001cde565b34156200067857600080fd5b62000262600160a060020a036004351662001ced565b34156200069a57600080fd5b6200026260043562001f97565b3415620006b357600080fd5b6200026260048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650620020b595505050505050565b34156200079957600080fd5b620002d962002985565b3415620007af57600080fd5b62000262600160a060020a036004351660243562002994565b3415620007d457600080fd5b620002d9620029bf565b3415620007ea57600080fd5b62000472600160a060020a0360043516620029ce565b34156200080c57600080fd5b620002d9620029e7565b34156200082257600080fd5b620002d9620029f6565b34156200083857600080fd5b62000230600160a060020a036004358116906024358116906044358116906064358116906084351662002a06565b34156200087257600080fd5b6200087f60043562002aa0565b604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015620008ce578082015183820152602001620008b4565b50505050905090810190601f168015620008fc5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b83811015620009345780820151838201526020016200091a565b50505050905090810190601f168015620009625780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34156200098057600080fd5b6200087f60043562002c08565b34156200099957600080fd5b620009af600160a060020a036004351662002dae565b604051600160a060020a03909216825260208201526040908101905180910390f35b3415620009dd57600080fd5b620002d960246004803582810192908201359181359160443590810191013562002e3d565b600954600160a060020a0316158062000a3f5750600954600160a060020a03161580159062000a3f575060095433600160a060020a039081169116145b151562000a4b57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600033600160a060020a031685600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000ac457600080fd5b5af1151562000ad257600080fd5b50505060405180519050600160a060020a031614151562000af257600080fd5b62000afe848462002f7b565b151562000b0a57600080fd5b811562000b9a57600160a060020a0384166000908152600b602052604090205462000b3d90600163ffffffff6200301216565b600160a060020a0385166000818152600b60205260409081902092909255907f98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed453590879051600160a060020a03909116815260200160405180910390a25b506001949350505050565b600062000bb333836200302d565b151562000bbf57600080fd5b33600160a060020a03167f9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb78483604051600160a060020a03909116815260200160405180910390a2506001919050565b600062000c1b8262000f02565b151562000c2757600080fd5b5060009081526007602052604090206003015490565b600254600160a060020a031681565b600954600090819033600160a060020a0390811691161462000c6d57600080fd5b60085462000c8390600163ffffffff6200301216565b6008819055600081815260076020526040902090815590506001810185805162000cb292916020019062003651565b506002810184805162000cca92916020019062003651565b50600381018390556008547f62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c90868686604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000d4957808201518382015260200162000d2f565b50505050905090810190601f16801562000d775780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101562000daf57808201518382015260200162000d95565b50505050905090810190601f16801562000ddd5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150506008549392505050565b600160a060020a0333166000908152600a602052604081205462000e25908363ffffffff6200319116565b33600160a060020a038181166000908152600a60205260408082209490945554169163a9059cbb919085905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000e9257600080fd5b5af1151562000ea057600080fd5b50505060405180519050151562000eb657600080fd5b7f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243643383604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b6000908152600760205260408120541190565b6003546000908190600160a060020a03166339b7312288888888886040518663ffffffff1660e060020a0281526004018080602001858152602001806020018381038352888882818152602001925080828437909101848103835285815260200190508585808284378201915050975050505050505050602060405180830381600087803b151562000fa657600080fd5b5af1151562000fb457600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed1438989898989604051602081018490526060808252810185905280604081016080820188888082843790910184810383528581526020019050858580828437820191505097505050505050505060405180910390a39695505050505050565b6103e881565b600554600090339082908190600160a060020a03166302a63c288d858e60405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b1515620010c357600080fd5b5af11515620010d157600080fd5b505050604051805190501515620010e757600080fd5b620010f5838c8c8c620031a4565b91508b838b8b8e868d8d8d8d6200110b620036d6565b8a8152600160a060020a03808b16602083015289811660408301528881166060830152878116608083015260a0820187905283811660e0830152821661010082015261012060c08201818152908201859052610140820186868082843782019150509b505050505050505050505050604051809103906000f08015156200119157600080fd5b90508a600160a060020a0316637919233f828e60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620011e857600080fd5b5af11515620011f657600080fd5b5050506040518051905015156200120c57600080fd5b8a600160a060020a03167f359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d0082604051600160a060020a03909116815260200160405180910390a29b9a5050505050505050505050565b600160a060020a03166000908152600a6020526040902080546001909101549091565b6004546006546000918291600160a060020a039182169163215bd303918a918a918a918a918a91166040518763ffffffff1660e060020a028152600401808060200186815260200185815260200184815260200183600160a060020a0316600160a060020a0316815260200182810382528888828181526020019250808284378201915050975050505050505050602060405180830381600087803b15156200132d57600080fd5b5af115156200133b57600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f889896040516020808252810182905280604081018484808284378201915050935050505060405180910390a39695505050505050565b600b6020526000908152604090205481565b600033600160a060020a031684600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200140e57600080fd5b5af115156200141c57600080fd5b50505060405180519050600160a060020a03161415156200143c57600080fd5b62001448838362003403565b15156200145457600080fd5b5060019392505050565b600454600160a060020a031681565b603281565b600a81565b60006200148533836200302d565b15156200149157600080fd5b33600160a060020a03167f5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee383604051600160a060020a03909116815260200160405180910390a2506001919050565b600033600160a060020a031684600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200152a57600080fd5b5af115156200153857600080fd5b50505060405180519050600160a060020a03161415156200155857600080fd5b62001448838362003486565b6000818180808080600160a060020a03338116908716635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620015ae57600080fd5b5af11515620015bc57600080fd5b50505060405180519050600160a060020a0316141515620015dc57600080fd5b85600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200161a57600080fd5b5af115156200162857600080fd5b5050506040518051955050600160a060020a03861663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200167157600080fd5b5af115156200167f57600080fd5b50505060405180519450600190508460048111156200169a57fe5b1480620016b357506002846004811115620016b157fe5b145b1515620016bf57600080fd5b84600160a060020a031663898691638960405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200170e57600080fd5b5af115156200171c57600080fd5b5050506040518051905015156200173257600080fd5b85600160a060020a0316634e71d92d6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156200177057600080fd5b5af115156200177e57600080fd5b5050600554600160a060020a0390811691506338c4090b90881663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620017cc57600080fd5b5af11515620017da57600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156200181b57600080fd5b5af115156200182957600080fd5b5050506040518051600554909450600160a060020a0390811691506355d66c3e90881663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200188057600080fd5b5af115156200188e57600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515620018cf57600080fd5b5af11515620018dd57600080fd5b5050506040518051600554909350620019539150600160a060020a0316636b14ea366040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200192e57600080fd5b5af115156200193c57600080fd5b505050604051805185915063ffffffff6200350b16565b905062001a1c86600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200199757600080fd5b5af11515620019a557600080fd5b5050506040518051905062001a1688600160a060020a0316638628aaff6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019f157600080fd5b5af11515620019ff57600080fd5b505050604051805187915063ffffffff6200301216565b62003403565b151562001a2857600080fd5b62001a34828262003522565b151562001a4057600080fd5b62001a4c308262002f7b565b151562001a5857600080fd5b62001a64308262003486565b151562001a7057600080fd5b7fb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b88887600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001ad057600080fd5b5af1151562001ade57600080fd5b50505060405180519050604051600160a060020a039283168152911660208201526040908101905180910390a1506001979650505050505050565b600160a060020a03166000908152600b602052604090205490565b600154600160a060020a031681565b600033600160a060020a031685600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001b8d57600080fd5b5af1151562001b9b57600080fd5b50505060405180519050600160a060020a031614151562001bbb57600080fd5b62001bc7848462003522565b151562001bd357600080fd5b811562000b9a57600160a060020a0384166000908152600b602052604090205462001c319062001c0b90603263ffffffff620035bf16565b600160a060020a0386166000908152600b60205260409020549063ffffffff6200319116565b600160a060020a0385166000818152600b60205260409081902092909255907fd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d49990879051600160a060020a03909116815260200160405180910390a2506001949350505050565b60085481565b60065460009033600160a060020a0390811691161462001cbd57600080fd5b62001cc9838362003486565b151562001cd557600080fd5b50600192915050565b600054600160a060020a031681565b6004546000903390600160a060020a03166368c197dd8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562001d4357600080fd5b5af1151562001d5157600080fd5b50505060405180519050151562001d6757600080fd5b62001dc88382600160a060020a031663e2d36ef56040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001daa57600080fd5b5af1151562001db857600080fd5b5050506040518051905062003486565b151562001dd457600080fd5b80600160a060020a0316636ab6936a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001e1257600080fd5b5af1151562001e2057600080fd5b5050506040518051600160a060020a0385166000908152600a60205260409020541015905062001e4f57600080fd5b80600160a060020a031663cc6f06a36040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001e8d57600080fd5b5af1151562001e9b57600080fd5b5050506040518051600160a060020a0385166000908152600b60205260409020541015905062001eca57600080fd5b600454600160a060020a0316631884c517338560405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151562001f2357600080fd5b5af1151562001f3157600080fd5b50505060405180519050151562001f4757600080fd5b33600160a060020a03167fd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff0784604051600160a060020a03909116815260200160405180910390a250600192915050565b60008054600160a060020a03166323b872dd33308560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151562001ffc57600080fd5b5af115156200200a57600080fd5b5050506040518051905015156200202057600080fd5b600160a060020a0333166000908152600a60205260409020546200204b908363ffffffff6200301216565b33600160a060020a0381166000908152600a602052604090819020929092557fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c91849051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b600084818080808080808080600160a060020a03338116908b16630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200210357600080fd5b5af115156200211157600080fd5b50505060405180519050600160a060020a03161415156200213157600080fd5b60028a600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200217157600080fd5b5af115156200217f57600080fd5b5050506040518051905060048111156200219557fe5b14620021a057600080fd5b89600160a060020a0316636946f6926040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620021de57600080fd5b5af11515620021ec57600080fd5b5050506040518051995050600160a060020a0389166326137e6b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200223557600080fd5b5af115156200224357600080fd5b50505060405180519850506000881115620022c557620022b989600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200229a57600080fd5b5af11515620022a857600080fd5b505050604051805190508962002f7b565b1515620022c557600080fd5b89600160a060020a03166371a599ca6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200230357600080fd5b5af115156200231157600080fd5b5050506040518051975050600160a060020a03871615620023fa5786600160a060020a03166362d598eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200236a57600080fd5b5af115156200237857600080fd5b50505060405180519650506000861115620023fa57620023ee87600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620023cf57600080fd5b5af11515620023dd57600080fd5b505050604051805190508762002f7b565b1515620023fa57600080fd5b600554600160a060020a03908116906338c4090b908c1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200244557600080fd5b5af115156200245357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156200249457600080fd5b5af11515620024a257600080fd5b5050506040518051600554909650600160a060020a0390811691506355d66c3e908c1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620024f957600080fd5b5af115156200250757600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156200254857600080fd5b5af115156200255657600080fd5b5050506040518051600554909550620025cc9150600160a060020a0316636b14ea366040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620025a757600080fd5b5af11515620025b557600080fd5b505050604051805187915063ffffffff6200350b16565b9250620026958a600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200261057600080fd5b5af115156200261e57600080fd5b505050604051805190506200268f8c600160a060020a0316638628aaff6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200266a57600080fd5b5af115156200267857600080fd5b505050604051805189915063ffffffff6200301216565b62003522565b1515620026a157600080fd5b620026ad848462003403565b1515620026b957600080fd5b89600160a060020a031663d5fdfdbc8f8f8f6040518463ffffffff1660e060020a02815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015620027245780820151838201526020016200270a565b50505050905090810190601f168015620027525780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156200278a57808201518382015260200162002770565b50505050905090810190601f168015620027b85780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015620027f0578082015183820152602001620027d6565b50505050905090810190601f1680156200281e5780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15156200284157600080fd5b5af115156200284f57600080fd5b5050506200285d3062001262565b9250506000821115620028d557620028a3620028956103e86200288885600a63ffffffff6200350b16565b9063ffffffff620035d716565b839063ffffffff620035bf16565b9050620028b1308262003522565b1515620028bd57600080fd5b620028c9848262002f7b565b1515620028d557600080fd5b7fed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f98f8b600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200293557600080fd5b5af115156200294357600080fd5b50505060405180519050604051600160a060020a039283168152911660208201526040908101905180910390a15060019e9d5050505050505050505050505050565b600954600160a060020a031681565b60065460009033600160a060020a03908116911614620029b357600080fd5b62001cc9838362003403565b600354600160a060020a031681565b600a602052600090815260409020805460019091015482565b600654600160a060020a031681565b600154600160a060020a03165b90565b600154600160a060020a03161562002a1d57600080fd5b60018054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255600080548216909217909155600680549587169582168617905560058054821690951790945560048054938616938516939093179092556002805491851691841691909117905560038054919093169116179055565b6007602052806000526040600020600091509050806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002b565780601f1062002b2a5761010080835404028352916020019162002b56565b820191906000526020600020905b81548152906001019060200180831162002b3857829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002bf85780601f1062002bcc5761010080835404028352916020019162002bf8565b820191906000526020600020905b81548152906001019060200180831162002bda57829003601f168201915b5050505050908060030154905084565b600062002c14620036e7565b62002c1e620036e7565b600062002c2b8562000f02565b151562002c3757600080fd5b60008581526007602090815260409182902080546003820154600180840180549396909560029586019593948794938116156101000260001901169290920491601f83018190048102019051908101604052809291908181526020018280546001816001161561010002031660029004801562002cf85780601f1062002ccc5761010080835404028352916020019162002cf8565b820191906000526020600020905b81548152906001019060200180831162002cda57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002d985780601f1062002d6c5761010080835404028352916020019162002d98565b820191906000526020600020905b81548152906001019060200180831162002d7a57829003601f168201915b5050505050915093509350935093509193509193565b6004546000908190600160a060020a031663d440c6f38460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562002e0457600080fd5b5af1151562002e1257600080fd5b5050506040518051600160a060020a03949094166000908152600b6020526040902054939492505050565b6002546000908190600160a060020a031663fc06a87788888888886040518663ffffffff1660e060020a0281526004018080602001858152602001806020018381038352888882818152602001925080828437909101848103835285815260200190508585808284378201915050975050505050505050602060405180830381600087803b151562002ece57600080fd5b5af1151562002edc57600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc28989898989604051602081018490526060808252810185905280604081016080820188888082843790910184810383528581526020019050858580828437820191505097505050505050505060405180910390a39695505050505050565b600160a060020a0382166000908152600a602052604081205462002fa6908363ffffffff6200301216565b600160a060020a0384166000908152600a602052604090819020919091557f619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9908490849051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b6000828201838110156200302257fe5b8091505b5092915050565b6004546000908390600160a060020a03166368c197dd8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200308357600080fd5b5af115156200309157600080fd5b505050604051805190501515620030a757600080fd5b620031088382600160a060020a031663e2d36ef56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620030ea57600080fd5b5af11515620030f857600080fd5b5050506040518051905062003403565b15156200311457600080fd5b600454600160a060020a0316630b00de8d858560405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156200316d57600080fd5b5af115156200317b57600080fd5b5050506040518051905015156200145457600080fd5b6000828211156200319e57fe5b50900390565b600254600090839082908190600160a060020a0316638403be918460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620031fe57600080fd5b5af115156200320c57600080fd5b5050506040518051905015156200322257600080fd5b82600160a060020a03166326137e6b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200326057600080fd5b5af115156200326e57600080fd5b5050506040518051925050600160a060020a038516156200336b57506003548490600160a060020a03166316265b4e8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620032dd57600080fd5b5af11515620032eb57600080fd5b5050506040518051905015156200330157600080fd5b6200336881600160a060020a03166362d598eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200334357600080fd5b5af115156200335157600080fd5b505050604051805184915063ffffffff6200301216565b91505b600454600160a060020a03166368c197dd8860405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620033bc57600080fd5b5af11515620033ca57600080fd5b505050604051805190501515620033e057600080fd5b620033ec888362003486565b1515620033f857600080fd5b509695505050505050565b600160a060020a0382166000908152600a602052604081206001015462003431908363ffffffff6200319116565b600160a060020a0384166000908152600a6020526040902060018101919091555462003464908363ffffffff6200301216565b600160a060020a0384166000908152600a602052604090205550600192915050565b600160a060020a0382166000908152600a6020526040812054620034b1908363ffffffff6200319116565b600160a060020a0384166000908152600a6020526040902090815560010154620034e2908363ffffffff6200301216565b600160a060020a0384166000908152600a60205260409020600190810191909155905092915050565b60006200351b83836064620035e9565b9392505050565b600160a060020a0382166000908152600a602052604081206001015462003550908363ffffffff6200319116565b600160a060020a0384166000908152600a602052604090819020600101919091557f4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e908490849051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b6000818310620035d057816200351b565b5090919050565b600081831015620035d057816200351b565b600062003602620035fb85856200360a565b8362003639565b949350505050565b6000808315156200361f576000915062003026565b508282028284828115156200363057fe5b04146200302257fe5b60008082848115156200364857fe5b04949350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200369457805160ff1916838001178555620036c4565b82800160010185558215620036c4579182015b82811115620036c4578251825591602001919060010190620036a7565b50620036d2929150620036f9565b5090565b604051610d20806200371783390190565b60206040519081016040526000815290565b62002a0391905b80821115620036d257600081556001016200370056006060604052341561000f57600080fd5b604051610d20380380610d208339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805182019190602001805191906020018051600d8054600160a060020a03191633600160a060020a039081169190911790915590925089161515905061009257600080fd5b6000805460ff1916600190811790915589905560028054600160a060020a0319908116600160a060020a038a81169190911790925560038054821689841617905560048054821688841617905560058054909116918a1691909117905560068490556007838051610107929160200190610141565b5060088054600160a060020a03938416600160a060020a03199182161790915560098054929093169116179055506101dc95505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018257805160ff19168380011785556101af565b828001600101855582156101af579182015b828111156101af578251825591602001919060010190610194565b506101bb9291506101bf565b5090565b6101d991905b808211156101bb57600081556001016101c5565b90565b610b35806101eb6000396000f3006060604052600436106100fb5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630690e5b8811461010057806315298c771461012f5780631a514d97146101b95780632d4d671f146101e05780634e71d92d146101f35780635f44910c146102085780636946f6921461021b57806371a599ca1461022e5780638628aaff146102415780639c4a856114610266578063cc3a2dfa14610279578063d3a69e011461028c578063d5fdfdbc1461029f578063da1fea2814610374578063e329c47814610387578063ecc40f64146103be578063f3859f57146103d1578063f6a5b13e146103e4575b600080fd5b341561010b57600080fd5b6101136103f7565b604051600160a060020a03909116815260200160405180910390f35b341561013a57600080fd5b610142610406565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561017e578082015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c457600080fd5b6101cc6104a4565b604051901515815260200160405180910390f35b34156101eb57600080fd5b6101cc61051f565b34156101fe57600080fd5b610206610599565b005b341561021357600080fd5b610113610629565b341561022657600080fd5b610113610638565b341561023957600080fd5b610113610647565b341561024c57600080fd5b610254610656565b60405190815260200160405180910390f35b341561027157600080fd5b61014261065c565b341561028457600080fd5b6101426106c7565b341561029757600080fd5b610113610732565b34156102aa57600080fd5b61020660046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061074195505050505050565b341561037f57600080fd5b6101136109d9565b341561039257600080fd5b61039a6109e8565b604051808260048111156103aa57fe5b60ff16815260200191505060405180910390f35b34156103c957600080fd5b6102546109f1565b34156103dc57600080fd5b6101426109f7565b34156103ef57600080fd5b610113610a62565b600454600160a060020a031681565b60078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b820191906000526020600020905b81548152906001019060200180831161047f57829003601f168201915b505050505081565b60045460009033600160a060020a039081169116146104c257600080fd5b600260005460ff1660048111156104d557fe5b146104df57600080fd5b6000805460ff191660011790557f06c42818c4ab74dff6aec55942f601c2e9b7f2aa4321ee71690b125eacfe465460405160405180910390a15060015b90565b60045460009033600160a060020a0390811691161461053d57600080fd5b600160005460ff16600481111561055057fe5b1461055a57600080fd5b6000805460ff191660021790557f2b0cab0be6d82b2661b3b789c540ec9c7223aac635ac8e59a1e71e1137f2dd7760405160405180910390a150600190565b600d5433600160a060020a039081169116146105b457600080fd5b600160005460ff1660048111156105c757fe5b14806105e35750600260005460ff1660048111156105e157fe5b145b15156105ee57600080fd5b6000805460ff191660031790557f1938697ee29e363ecda49e464c6d2aae25f0974bd1f2c81a91c21e13ad8dbf7760405160405180910390a1565b600554600160a060020a031681565b600254600160a060020a031681565b600354600160a060020a031681565b60065481565b600c8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b600a8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b600d54600160a060020a031681565b600d5433600160a060020a0390811691161461075c57600080fd5b600260005460ff16600481111561076f57fe5b1461077957600080fd5b6000805460ff19166004179055600a838051610799929160200190610a71565b50600b8280516107ad929160200190610a71565b50600c8180516107c1929160200190610a71565b50600854600160a060020a0316156109a857600854600160a060020a031663514d7067308585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610870578082015183820152602001610858565b50505050905090810190601f16801561089d5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156108d35780820151838201526020016108bb565b50505050905090810190601f1680156109005780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561093657808201518382015260200161091e565b50505050905090810190601f1680156109635780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b151561098657600080fd5b5af1151561099357600080fd5b5050506040518051905015156109a857600080fd5b7f777f59509d985349c80271b657d2649b218bc6f075a4625821b64448cc235b8660405160405180910390a1505050565b600854600160a060020a031681565b60005460ff1681565b60015481565b600b8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b600954600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610ab257805160ff1916838001178555610adf565b82800160010185558215610adf579182015b82811115610adf578251825591602001919060010190610ac4565b50610aeb929150610aef565b5090565b61051c91905b80821115610aeb5760008155600101610af55600a165627a7a7230582002b52a6173b11eb2a9ca31ed4bb225d6a9a072b9e8f9dd5ca4d5e17d4b6d5f0b0029a165627a7a72305820fc9838291bef6106ec0b71c3dbf5219788f864ad2d314b846596afb5d94abacf0029", + "deployedBytecode": "0x606060405260043610620002095763ffffffff60e060020a6000350416630800b89e81146200020e5780630c91f2d014620002325780631708d72514620002765780631f8717261462000298578063234a0ee714620002c3578063298503d914620002f55780632e1a7d4d146200038d57806332baa8d914620003a657806339b7312214620003bf5780634f73b8e614620003f0578063536e280014620004065780635f515226146200045057806366de5a4f146200048a57806369e99b5c14620004b55780636b4f686514620004d75780636e885bd71462000502578063747bcd721462000518578063817e8332146200052e578063835436b414620005445780638981d07714620005665780638986916314620005915780638c0f8e1114620005b35780639d76ea5814620005d55780639fdf962514620005eb578063a0efe255146200061b578063ac26109e1462000631578063b017c0361462000656578063b218cf15146200066c578063b6b55f25146200068e578063b6b57ebd14620006a7578063b6b8c3cd146200078d578063b7b6e97814620007a3578063bc04d77b14620007c8578063be02ee6e14620007de578063daa17f491462000800578063e73333431462000816578063e760a11a146200082c578063eeeb2ba01462000866578063f3052d261462000974578063f69f190c146200098d578063fc06a87714620009d1575b600080fd5b34156200021a57600080fd5b62000230600160a060020a036004351662000a02565b005b34156200023e57600080fd5b62000262600160a060020a0360043581169060243516604435606435151562000a7a565b604051901515815260200160405180910390f35b34156200028257600080fd5b62000262600160a060020a036004351662000ba5565b3415620002a457600080fd5b620002b160043562000c0e565b60405190815260200160405180910390f35b3415620002cf57600080fd5b620002d962000c3d565b604051600160a060020a03909116815260200160405180910390f35b34156200030157600080fd5b620002b160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650509335935062000c4c92505050565b34156200039957600080fd5b6200026260043562000dfa565b3415620003b257600080fd5b6200026260043562000f02565b3415620003cb57600080fd5b620002d960246004803582810192908201359181359160443590810191013562000f15565b3415620003fc57600080fd5b620002b162001053565b34156200041257600080fd5b620002d96004803590600160a060020a03602480358216926044358316926064358116926084359081019201359060a43581169060c4351662001059565b34156200045c57600080fd5b62000472600160a060020a036004351662001262565b60405191825260208201526040908101905180910390f35b34156200049657600080fd5b620002d960246004803582810192910135903560443560643562001285565b3415620004c157600080fd5b620002b1600160a060020a0360043516620013b2565b3415620004e357600080fd5b62000262600160a060020a0360043581169060243516604435620013c4565b34156200050e57600080fd5b620002d96200145e565b34156200052457600080fd5b620002b16200146d565b34156200053a57600080fd5b620002b162001472565b34156200055057600080fd5b62000262600160a060020a036004351662001477565b34156200057257600080fd5b62000262600160a060020a0360043581169060243516604435620014e0565b34156200059d57600080fd5b62000262600160a060020a036004351662001564565b3415620005bf57600080fd5b620002b1600160a060020a036004351662001b19565b3415620005e157600080fd5b620002d962001b34565b3415620005f757600080fd5b62000262600160a060020a0360043581169060243516604435606435151562001b43565b34156200062757600080fd5b620002b162001c98565b34156200063d57600080fd5b62000262600160a060020a036004351660243562001c9e565b34156200066257600080fd5b620002d962001cde565b34156200067857600080fd5b62000262600160a060020a036004351662001ced565b34156200069a57600080fd5b6200026260043562001f97565b3415620006b357600080fd5b6200026260048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650620020b595505050505050565b34156200079957600080fd5b620002d962002985565b3415620007af57600080fd5b62000262600160a060020a036004351660243562002994565b3415620007d457600080fd5b620002d9620029bf565b3415620007ea57600080fd5b62000472600160a060020a0360043516620029ce565b34156200080c57600080fd5b620002d9620029e7565b34156200082257600080fd5b620002d9620029f6565b34156200083857600080fd5b62000230600160a060020a036004358116906024358116906044358116906064358116906084351662002a06565b34156200087257600080fd5b6200087f60043562002aa0565b604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015620008ce578082015183820152602001620008b4565b50505050905090810190601f168015620008fc5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b83811015620009345780820151838201526020016200091a565b50505050905090810190601f168015620009625780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34156200098057600080fd5b6200087f60043562002c08565b34156200099957600080fd5b620009af600160a060020a036004351662002dae565b604051600160a060020a03909216825260208201526040908101905180910390f35b3415620009dd57600080fd5b620002d960246004803582810192908201359181359160443590810191013562002e3d565b600954600160a060020a0316158062000a3f5750600954600160a060020a03161580159062000a3f575060095433600160a060020a039081169116145b151562000a4b57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600033600160a060020a031685600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000ac457600080fd5b5af1151562000ad257600080fd5b50505060405180519050600160a060020a031614151562000af257600080fd5b62000afe848462002f7b565b151562000b0a57600080fd5b811562000b9a57600160a060020a0384166000908152600b602052604090205462000b3d90600163ffffffff6200301216565b600160a060020a0385166000818152600b60205260409081902092909255907f98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed453590879051600160a060020a03909116815260200160405180910390a25b506001949350505050565b600062000bb333836200302d565b151562000bbf57600080fd5b33600160a060020a03167f9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb78483604051600160a060020a03909116815260200160405180910390a2506001919050565b600062000c1b8262000f02565b151562000c2757600080fd5b5060009081526007602052604090206003015490565b600254600160a060020a031681565b600954600090819033600160a060020a0390811691161462000c6d57600080fd5b60085462000c8390600163ffffffff6200301216565b6008819055600081815260076020526040902090815590506001810185805162000cb292916020019062003651565b506002810184805162000cca92916020019062003651565b50600381018390556008547f62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c90868686604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000d4957808201518382015260200162000d2f565b50505050905090810190601f16801562000d775780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101562000daf57808201518382015260200162000d95565b50505050905090810190601f16801562000ddd5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150506008549392505050565b600160a060020a0333166000908152600a602052604081205462000e25908363ffffffff6200319116565b33600160a060020a038181166000908152600a60205260408082209490945554169163a9059cbb919085905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000e9257600080fd5b5af1151562000ea057600080fd5b50505060405180519050151562000eb657600080fd5b7f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243643383604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b6000908152600760205260408120541190565b6003546000908190600160a060020a03166339b7312288888888886040518663ffffffff1660e060020a0281526004018080602001858152602001806020018381038352888882818152602001925080828437909101848103835285815260200190508585808284378201915050975050505050505050602060405180830381600087803b151562000fa657600080fd5b5af1151562000fb457600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed1438989898989604051602081018490526060808252810185905280604081016080820188888082843790910184810383528581526020019050858580828437820191505097505050505050505060405180910390a39695505050505050565b6103e881565b600554600090339082908190600160a060020a03166302a63c288d858e60405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b1515620010c357600080fd5b5af11515620010d157600080fd5b505050604051805190501515620010e757600080fd5b620010f5838c8c8c620031a4565b91508b838b8b8e868d8d8d8d6200110b620036d6565b8a8152600160a060020a03808b16602083015289811660408301528881166060830152878116608083015260a0820187905283811660e0830152821661010082015261012060c08201818152908201859052610140820186868082843782019150509b505050505050505050505050604051809103906000f08015156200119157600080fd5b90508a600160a060020a0316637919233f828e60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620011e857600080fd5b5af11515620011f657600080fd5b5050506040518051905015156200120c57600080fd5b8a600160a060020a03167f359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d0082604051600160a060020a03909116815260200160405180910390a29b9a5050505050505050505050565b600160a060020a03166000908152600a6020526040902080546001909101549091565b6004546006546000918291600160a060020a039182169163215bd303918a918a918a918a918a91166040518763ffffffff1660e060020a028152600401808060200186815260200185815260200184815260200183600160a060020a0316600160a060020a0316815260200182810382528888828181526020019250808284378201915050975050505050505050602060405180830381600087803b15156200132d57600080fd5b5af115156200133b57600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f889896040516020808252810182905280604081018484808284378201915050935050505060405180910390a39695505050505050565b600b6020526000908152604090205481565b600033600160a060020a031684600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200140e57600080fd5b5af115156200141c57600080fd5b50505060405180519050600160a060020a03161415156200143c57600080fd5b62001448838362003403565b15156200145457600080fd5b5060019392505050565b600454600160a060020a031681565b603281565b600a81565b60006200148533836200302d565b15156200149157600080fd5b33600160a060020a03167f5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee383604051600160a060020a03909116815260200160405180910390a2506001919050565b600033600160a060020a031684600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200152a57600080fd5b5af115156200153857600080fd5b50505060405180519050600160a060020a03161415156200155857600080fd5b62001448838362003486565b6000818180808080600160a060020a03338116908716635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620015ae57600080fd5b5af11515620015bc57600080fd5b50505060405180519050600160a060020a0316141515620015dc57600080fd5b85600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200161a57600080fd5b5af115156200162857600080fd5b5050506040518051955050600160a060020a03861663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200167157600080fd5b5af115156200167f57600080fd5b50505060405180519450600190508460048111156200169a57fe5b1480620016b357506002846004811115620016b157fe5b145b1515620016bf57600080fd5b84600160a060020a031663898691638960405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200170e57600080fd5b5af115156200171c57600080fd5b5050506040518051905015156200173257600080fd5b85600160a060020a0316634e71d92d6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156200177057600080fd5b5af115156200177e57600080fd5b5050600554600160a060020a0390811691506338c4090b90881663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620017cc57600080fd5b5af11515620017da57600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156200181b57600080fd5b5af115156200182957600080fd5b5050506040518051600554909450600160a060020a0390811691506355d66c3e90881663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200188057600080fd5b5af115156200188e57600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515620018cf57600080fd5b5af11515620018dd57600080fd5b5050506040518051600554909350620019539150600160a060020a0316636b14ea366040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200192e57600080fd5b5af115156200193c57600080fd5b505050604051805185915063ffffffff6200350b16565b905062001a1c86600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200199757600080fd5b5af11515620019a557600080fd5b5050506040518051905062001a1688600160a060020a0316638628aaff6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019f157600080fd5b5af11515620019ff57600080fd5b505050604051805187915063ffffffff6200301216565b62003403565b151562001a2857600080fd5b62001a34828262003522565b151562001a4057600080fd5b62001a4c308262002f7b565b151562001a5857600080fd5b62001a64308262003486565b151562001a7057600080fd5b7fb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b88887600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001ad057600080fd5b5af1151562001ade57600080fd5b50505060405180519050604051600160a060020a039283168152911660208201526040908101905180910390a1506001979650505050505050565b600160a060020a03166000908152600b602052604090205490565b600154600160a060020a031681565b600033600160a060020a031685600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001b8d57600080fd5b5af1151562001b9b57600080fd5b50505060405180519050600160a060020a031614151562001bbb57600080fd5b62001bc7848462003522565b151562001bd357600080fd5b811562000b9a57600160a060020a0384166000908152600b602052604090205462001c319062001c0b90603263ffffffff620035bf16565b600160a060020a0386166000908152600b60205260409020549063ffffffff6200319116565b600160a060020a0385166000818152600b60205260409081902092909255907fd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d49990879051600160a060020a03909116815260200160405180910390a2506001949350505050565b60085481565b60065460009033600160a060020a0390811691161462001cbd57600080fd5b62001cc9838362003486565b151562001cd557600080fd5b50600192915050565b600054600160a060020a031681565b6004546000903390600160a060020a03166368c197dd8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562001d4357600080fd5b5af1151562001d5157600080fd5b50505060405180519050151562001d6757600080fd5b62001dc88382600160a060020a031663e2d36ef56040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001daa57600080fd5b5af1151562001db857600080fd5b5050506040518051905062003486565b151562001dd457600080fd5b80600160a060020a0316636ab6936a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001e1257600080fd5b5af1151562001e2057600080fd5b5050506040518051600160a060020a0385166000908152600a60205260409020541015905062001e4f57600080fd5b80600160a060020a031663cc6f06a36040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001e8d57600080fd5b5af1151562001e9b57600080fd5b5050506040518051600160a060020a0385166000908152600b60205260409020541015905062001eca57600080fd5b600454600160a060020a0316631884c517338560405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151562001f2357600080fd5b5af1151562001f3157600080fd5b50505060405180519050151562001f4757600080fd5b33600160a060020a03167fd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff0784604051600160a060020a03909116815260200160405180910390a250600192915050565b60008054600160a060020a03166323b872dd33308560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151562001ffc57600080fd5b5af115156200200a57600080fd5b5050506040518051905015156200202057600080fd5b600160a060020a0333166000908152600a60205260409020546200204b908363ffffffff6200301216565b33600160a060020a0381166000908152600a602052604090819020929092557fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c91849051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b600084818080808080808080600160a060020a03338116908b16630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200210357600080fd5b5af115156200211157600080fd5b50505060405180519050600160a060020a03161415156200213157600080fd5b60028a600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200217157600080fd5b5af115156200217f57600080fd5b5050506040518051905060048111156200219557fe5b14620021a057600080fd5b89600160a060020a0316636946f6926040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620021de57600080fd5b5af11515620021ec57600080fd5b5050506040518051995050600160a060020a0389166326137e6b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200223557600080fd5b5af115156200224357600080fd5b50505060405180519850506000881115620022c557620022b989600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200229a57600080fd5b5af11515620022a857600080fd5b505050604051805190508962002f7b565b1515620022c557600080fd5b89600160a060020a03166371a599ca6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200230357600080fd5b5af115156200231157600080fd5b5050506040518051975050600160a060020a03871615620023fa5786600160a060020a03166362d598eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200236a57600080fd5b5af115156200237857600080fd5b50505060405180519650506000861115620023fa57620023ee87600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620023cf57600080fd5b5af11515620023dd57600080fd5b505050604051805190508762002f7b565b1515620023fa57600080fd5b600554600160a060020a03908116906338c4090b908c1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200244557600080fd5b5af115156200245357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156200249457600080fd5b5af11515620024a257600080fd5b5050506040518051600554909650600160a060020a0390811691506355d66c3e908c1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620024f957600080fd5b5af115156200250757600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156200254857600080fd5b5af115156200255657600080fd5b5050506040518051600554909550620025cc9150600160a060020a0316636b14ea366040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620025a757600080fd5b5af11515620025b557600080fd5b505050604051805187915063ffffffff6200350b16565b9250620026958a600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200261057600080fd5b5af115156200261e57600080fd5b505050604051805190506200268f8c600160a060020a0316638628aaff6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200266a57600080fd5b5af115156200267857600080fd5b505050604051805189915063ffffffff6200301216565b62003522565b1515620026a157600080fd5b620026ad848462003403565b1515620026b957600080fd5b89600160a060020a031663d5fdfdbc8f8f8f6040518463ffffffff1660e060020a02815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015620027245780820151838201526020016200270a565b50505050905090810190601f168015620027525780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156200278a57808201518382015260200162002770565b50505050905090810190601f168015620027b85780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015620027f0578082015183820152602001620027d6565b50505050905090810190601f1680156200281e5780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15156200284157600080fd5b5af115156200284f57600080fd5b5050506200285d3062001262565b9250506000821115620028d557620028a3620028956103e86200288885600a63ffffffff6200350b16565b9063ffffffff620035d716565b839063ffffffff620035bf16565b9050620028b1308262003522565b1515620028bd57600080fd5b620028c9848262002f7b565b1515620028d557600080fd5b7fed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f98f8b600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200293557600080fd5b5af115156200294357600080fd5b50505060405180519050604051600160a060020a039283168152911660208201526040908101905180910390a15060019e9d5050505050505050505050505050565b600954600160a060020a031681565b60065460009033600160a060020a03908116911614620029b357600080fd5b62001cc9838362003403565b600354600160a060020a031681565b600a602052600090815260409020805460019091015482565b600654600160a060020a031681565b600154600160a060020a03165b90565b600154600160a060020a03161562002a1d57600080fd5b60018054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255600080548216909217909155600680549587169582168617905560058054821690951790945560048054938616938516939093179092556002805491851691841691909117905560038054919093169116179055565b6007602052806000526040600020600091509050806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002b565780601f1062002b2a5761010080835404028352916020019162002b56565b820191906000526020600020905b81548152906001019060200180831162002b3857829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002bf85780601f1062002bcc5761010080835404028352916020019162002bf8565b820191906000526020600020905b81548152906001019060200180831162002bda57829003601f168201915b5050505050908060030154905084565b600062002c14620036e7565b62002c1e620036e7565b600062002c2b8562000f02565b151562002c3757600080fd5b60008581526007602090815260409182902080546003820154600180840180549396909560029586019593948794938116156101000260001901169290920491601f83018190048102019051908101604052809291908181526020018280546001816001161561010002031660029004801562002cf85780601f1062002ccc5761010080835404028352916020019162002cf8565b820191906000526020600020905b81548152906001019060200180831162002cda57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002d985780601f1062002d6c5761010080835404028352916020019162002d98565b820191906000526020600020905b81548152906001019060200180831162002d7a57829003601f168201915b5050505050915093509350935093509193509193565b6004546000908190600160a060020a031663d440c6f38460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562002e0457600080fd5b5af1151562002e1257600080fd5b5050506040518051600160a060020a03949094166000908152600b6020526040902054939492505050565b6002546000908190600160a060020a031663fc06a87788888888886040518663ffffffff1660e060020a0281526004018080602001858152602001806020018381038352888882818152602001925080828437909101848103835285815260200190508585808284378201915050975050505050505050602060405180830381600087803b151562002ece57600080fd5b5af1151562002edc57600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc28989898989604051602081018490526060808252810185905280604081016080820188888082843790910184810383528581526020019050858580828437820191505097505050505050505060405180910390a39695505050505050565b600160a060020a0382166000908152600a602052604081205462002fa6908363ffffffff6200301216565b600160a060020a0384166000908152600a602052604090819020919091557f619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9908490849051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b6000828201838110156200302257fe5b8091505b5092915050565b6004546000908390600160a060020a03166368c197dd8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200308357600080fd5b5af115156200309157600080fd5b505050604051805190501515620030a757600080fd5b620031088382600160a060020a031663e2d36ef56040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620030ea57600080fd5b5af11515620030f857600080fd5b5050506040518051905062003403565b15156200311457600080fd5b600454600160a060020a0316630b00de8d858560405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156200316d57600080fd5b5af115156200317b57600080fd5b5050506040518051905015156200145457600080fd5b6000828211156200319e57fe5b50900390565b600254600090839082908190600160a060020a0316638403be918460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620031fe57600080fd5b5af115156200320c57600080fd5b5050506040518051905015156200322257600080fd5b82600160a060020a03166326137e6b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200326057600080fd5b5af115156200326e57600080fd5b5050506040518051925050600160a060020a038516156200336b57506003548490600160a060020a03166316265b4e8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620032dd57600080fd5b5af11515620032eb57600080fd5b5050506040518051905015156200330157600080fd5b6200336881600160a060020a03166362d598eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200334357600080fd5b5af115156200335157600080fd5b505050604051805184915063ffffffff6200301216565b91505b600454600160a060020a03166368c197dd8860405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620033bc57600080fd5b5af11515620033ca57600080fd5b505050604051805190501515620033e057600080fd5b620033ec888362003486565b1515620033f857600080fd5b509695505050505050565b600160a060020a0382166000908152600a602052604081206001015462003431908363ffffffff6200319116565b600160a060020a0384166000908152600a6020526040902060018101919091555462003464908363ffffffff6200301216565b600160a060020a0384166000908152600a602052604090205550600192915050565b600160a060020a0382166000908152600a6020526040812054620034b1908363ffffffff6200319116565b600160a060020a0384166000908152600a6020526040902090815560010154620034e2908363ffffffff6200301216565b600160a060020a0384166000908152600a60205260409020600190810191909155905092915050565b60006200351b83836064620035e9565b9392505050565b600160a060020a0382166000908152600a602052604081206001015462003550908363ffffffff6200319116565b600160a060020a0384166000908152600a602052604090819020600101919091557f4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e908490849051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b6000818310620035d057816200351b565b5090919050565b600081831015620035d057816200351b565b600062003602620035fb85856200360a565b8362003639565b949350505050565b6000808315156200361f576000915062003026565b508282028284828115156200363057fe5b04146200302257fe5b60008082848115156200364857fe5b04949350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200369457805160ff1916838001178555620036c4565b82800160010185558215620036c4579182015b82811115620036c4578251825591602001919060010190620036a7565b50620036d2929150620036f9565b5090565b604051610d20806200371783390190565b60206040519081016040526000815290565b62002a0391905b80821115620036d257600081556001016200370056006060604052341561000f57600080fd5b604051610d20380380610d208339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805182019190602001805191906020018051600d8054600160a060020a03191633600160a060020a039081169190911790915590925089161515905061009257600080fd5b6000805460ff1916600190811790915589905560028054600160a060020a0319908116600160a060020a038a81169190911790925560038054821689841617905560048054821688841617905560058054909116918a1691909117905560068490556007838051610107929160200190610141565b5060088054600160a060020a03938416600160a060020a03199182161790915560098054929093169116179055506101dc95505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018257805160ff19168380011785556101af565b828001600101855582156101af579182015b828111156101af578251825591602001919060010190610194565b506101bb9291506101bf565b5090565b6101d991905b808211156101bb57600081556001016101c5565b90565b610b35806101eb6000396000f3006060604052600436106100fb5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630690e5b8811461010057806315298c771461012f5780631a514d97146101b95780632d4d671f146101e05780634e71d92d146101f35780635f44910c146102085780636946f6921461021b57806371a599ca1461022e5780638628aaff146102415780639c4a856114610266578063cc3a2dfa14610279578063d3a69e011461028c578063d5fdfdbc1461029f578063da1fea2814610374578063e329c47814610387578063ecc40f64146103be578063f3859f57146103d1578063f6a5b13e146103e4575b600080fd5b341561010b57600080fd5b6101136103f7565b604051600160a060020a03909116815260200160405180910390f35b341561013a57600080fd5b610142610406565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561017e578082015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c457600080fd5b6101cc6104a4565b604051901515815260200160405180910390f35b34156101eb57600080fd5b6101cc61051f565b34156101fe57600080fd5b610206610599565b005b341561021357600080fd5b610113610629565b341561022657600080fd5b610113610638565b341561023957600080fd5b610113610647565b341561024c57600080fd5b610254610656565b60405190815260200160405180910390f35b341561027157600080fd5b61014261065c565b341561028457600080fd5b6101426106c7565b341561029757600080fd5b610113610732565b34156102aa57600080fd5b61020660046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061074195505050505050565b341561037f57600080fd5b6101136109d9565b341561039257600080fd5b61039a6109e8565b604051808260048111156103aa57fe5b60ff16815260200191505060405180910390f35b34156103c957600080fd5b6102546109f1565b34156103dc57600080fd5b6101426109f7565b34156103ef57600080fd5b610113610a62565b600454600160a060020a031681565b60078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b820191906000526020600020905b81548152906001019060200180831161047f57829003601f168201915b505050505081565b60045460009033600160a060020a039081169116146104c257600080fd5b600260005460ff1660048111156104d557fe5b146104df57600080fd5b6000805460ff191660011790557f06c42818c4ab74dff6aec55942f601c2e9b7f2aa4321ee71690b125eacfe465460405160405180910390a15060015b90565b60045460009033600160a060020a0390811691161461053d57600080fd5b600160005460ff16600481111561055057fe5b1461055a57600080fd5b6000805460ff191660021790557f2b0cab0be6d82b2661b3b789c540ec9c7223aac635ac8e59a1e71e1137f2dd7760405160405180910390a150600190565b600d5433600160a060020a039081169116146105b457600080fd5b600160005460ff1660048111156105c757fe5b14806105e35750600260005460ff1660048111156105e157fe5b145b15156105ee57600080fd5b6000805460ff191660031790557f1938697ee29e363ecda49e464c6d2aae25f0974bd1f2c81a91c21e13ad8dbf7760405160405180910390a1565b600554600160a060020a031681565b600254600160a060020a031681565b600354600160a060020a031681565b60065481565b600c8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b600a8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b600d54600160a060020a031681565b600d5433600160a060020a0390811691161461075c57600080fd5b600260005460ff16600481111561076f57fe5b1461077957600080fd5b6000805460ff19166004179055600a838051610799929160200190610a71565b50600b8280516107ad929160200190610a71565b50600c8180516107c1929160200190610a71565b50600854600160a060020a0316156109a857600854600160a060020a031663514d7067308585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610870578082015183820152602001610858565b50505050905090810190601f16801561089d5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156108d35780820151838201526020016108bb565b50505050905090810190601f1680156109005780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561093657808201518382015260200161091e565b50505050905090810190601f1680156109635780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b151561098657600080fd5b5af1151561099357600080fd5b5050506040518051905015156109a857600080fd5b7f777f59509d985349c80271b657d2649b218bc6f075a4625821b64448cc235b8660405160405180910390a1505050565b600854600160a060020a031681565b60005460ff1681565b60015481565b600b8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b600954600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610ab257805160ff1916838001178555610adf565b82800160010185558215610adf579182015b82811115610adf578251825591602001919060010190610ac4565b50610aeb929150610aef565b5090565b61051c91905b80821115610aeb5760008155600101610af55600a165627a7a7230582002b52a6173b11eb2a9ca31ed4bb225d6a9a072b9e8f9dd5ca4d5e17d4b6d5f0b0029a165627a7a72305820fc9838291bef6106ec0b71c3dbf5219788f864ad2d314b846596afb5d94abacf0029", + "sourceMap": "281:16321:6:-;;;2710:36;;;;;;;;281:16321;;;;;;", + "deployedSourceMap": "281:16321:6:-;;;;;;;;;-1:-1:-1;;;281:16321:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3330:236;;;;;;;;;;-1:-1:-1;;;;;3330:236:6;;;;;;;14133:427;;;;;;;;;;-1:-1:-1;;;;;14133:427:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12389:254;;;;;;;;;;-1:-1:-1;;;;;12389:254:6;;;;;10563:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;625:27;;;;;;;;;;;;;;;-1:-1:-1;;;;;625:27:6;;;;;;;;;;;;;;3592:616;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3592:616:6;;-1:-1:-1;;3592:616:6;;;-1:-1:-1;3592:616:6;;-1:-1:-1;;;3592:616:6;15323:239;;;;;;;;;;;;;;10756:130;;;;;;;;;;;;;;5038:366;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;482:56;;;;;;;;;;;;5440:734;;;;;;;;;;;;;;-1:-1:-1;;;;;5440:734:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15564:159;;;;;;;;;;-1:-1:-1;;;;;15564:159:6;;;;;;;;;;;;;;;;;;;;;;;;;;4211:524;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1326:44;;;;;;;;;;-1:-1:-1;;;;;1326:44:6;;;;;13926:205;;;;;;;;;;-1:-1:-1;;;;;13926:205:6;;;;;;;;;;;;689:34;;;;;;;;;;;;542:48;;;;;;;;;;;;432:47;;;;;;;;;;;;12646:241;;;;;;;;;;-1:-1:-1;;;;;12646:241:6;;;;;13723:201;;;;;;;;;;-1:-1:-1;;;;;13723:201:6;;;;;;;;;;;;7074:1357;;;;;;;;;;-1:-1:-1;;;;;7074:1357:6;;;;;11502:116;;;;;;;;;;-1:-1:-1;;;;;11502:116:6;;;;;401:27;;;;;;;;;;;;14562:464;;;;;;;;;;-1:-1:-1;;;;;14562:464:6;;;;;;;;;;;;;;;;989:62;;;;;;;;;;;;13412:145;;;;;;;;;;-1:-1:-1;;;;;13412:145:6;;;;;;;380:18;;;;;;;;;;;;11655:731;;;;;;;;;;-1:-1:-1;;;;;11655:731:6;;;;;15065:256;;;;;;;;;;;;;;8434:2106;;;;;;;;;;;;;-1:-1:-1;;;;;8434:2106:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8434:2106:6;;-1:-1:-1;8434:2106:6;;-1:-1:-1;;;;;;8434:2106:6;1054:64;;;;;;;;;;;;13559:150;;;;;;;;;;-1:-1:-1;;;;;13559:150:6;;;;;;;655:31;;;;;;;;;;;;1234:54;;;;;;;;;;-1:-1:-1;;;;;1234:54:6;;;;;780:37;;;;;;;;;;;;11218:94;;;;;;;;;;;;2750:577;;;;;;;;;;-1:-1:-1;;;;;2750:577:6;;;;;;;;;;;;;;;;;;;;;;;;;929: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;929: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;929:57:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10889:326;;;;;;;;;;;;;;11315:184;;;;;;;;;;-1:-1:-1;;;;;11315:184:6;;;;;;;;-1:-1:-1;;;;;11315:184:6;;;;;;;;;;;;;;;;;;;;4738:297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3330:236;3408:19;;-1:-1:-1;;;;;3408:19:6;:33;;:109;;-1:-1:-1;3446:19:6;;-1:-1:-1;;;;;3446:19:6;:33;;;;:70;;-1:-1:-1;3497:19:6;;3483:10;-1:-1:-1;;;;;3483:33:6;;;3497:19;;3483:33;3446:70;3400:118;;;;;;;;3522:19;:40;;-1:-1:-1;;3522:40:6;-1:-1:-1;;;;;3522:40:6;;;;;;;;;;3330:236::o;14133:427::-;14239:4;14293:10;-1:-1:-1;;;;;14258:45:6;14268:5;-1:-1:-1;;;;;14258:29:6;;:31;;;;;-1:-1:-1;;;14258:31:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14258:45:6;;14250:54;;;;;;;;14316:24;14323:7;14332;14316:6;:24::i;:::-;14308:33;;;;;;;;14427:11;14423:119;;;-1:-1:-1;;;;;14467:17:6;;;;;;:8;:17;;;;;;:24;;14489:1;14467:24;:21;:24;:::i;:::-;-1:-1:-1;;;;;14447:17:6;;;;;;:8;:17;;;;;;;:44;;;;:17;14501:36;;14522:5;;14501:36;-1:-1:-1;;;;;14501:36:6;;;;;;;;;;;;;;14423:119;-1:-1:-1;14552:4:6;14133:427;;;;;;:::o;12389:254::-;12450:17;12510:33;12523:10;12535:7;12510:12;:33::i;:::-;12502:42;;;;;;;;12604:10;-1:-1:-1;;;;;12579:45:6;;12616:7;12579:45;;-1:-1:-1;;;;;12579:45:6;;;;;;;;;;;;;;-1:-1:-1;12635:4:6;12389:254;;;:::o;10563:190::-;10637:24;10676;10693:6;10676:16;:24::i;:::-;10668:33;;;;;;;;-1:-1:-1;10712:20:6;;;;:12;:20;;;;;:37;;;;10563:190::o;625:27::-;;;-1:-1:-1;;;;;625:27:6;;:::o;3592:616::-;1181:19;;3726:13;;;;1167:10;-1:-1:-1;;;;;1167:33:6;;;1181:19;;1167:33;1159:42;;;;;;3783:17;;:24;;3805:1;3783:24;:21;:24;:::i;:::-;3746:17;:61;;;3848:31;;;;:12;:31;;;;;3883:54;;;3848:31;-1:-1:-1;3941:13:6;;;3978:5;;3941:42;;;;;;;;:::i;:::-;-1:-1:-1;3987:20:6;;;4024:12;;3987:49;;;;;;;;:::i;:::-;-1:-1:-1;4040:25:6;;;:54;;;4118:17;;4103:73;;4137:5;4144:12;4077:17;4103: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;4103: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;4103:73:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4187:17:6;;;3592:616;-1:-1:-1;;;3592:616:6:o;15323:239::-;-1:-1:-1;;;;;15429:10:6;15418:22;15376:4;15418:22;;;:10;:22;;;;;:28;:41;;15451:7;15418:41;:32;:41;:::i;:::-;15398:10;-1:-1:-1;;;;;15387:22:6;;;;;;;:10;:22;;;;;;:72;;;;15471:3;;;:12;;15398:10;15496:7;;15471:33;-1:-1:-1;;;15471:33:6;;;;;;-1:-1:-1;;;;;15471:33:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15463:42;;;;;;;;15514:29;15523:10;15535:7;15514:29;;-1:-1:-1;;;;;15514:29:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15554:4:6;15323:239;;;:::o;10756:130::-;10820:18;10852:20;;;:12;:20;;;;;:26;:30;;10756:130::o;5038:366::-;5206:10;;5156:22;;;;-1:-1:-1;;;;;5206:10:6;:24;5235:12;;5252:13;5270:14;;5206:83;;;;;-1:-1:-1;;;5206:83:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5206:83:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5185:104;;5323:10;-1:-1:-1;;;;;5298:81:6;5312:9;-1:-1:-1;;;;;5298:81:6;;5335:12;;5349:13;5364:14;;5298:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5298:81:6;;;;;;;;;;;;;;;;;;;;;;;;;;;5390:10;5038:366;-1:-1:-1;;;;;;5038:366:6:o;482:56::-;534:4;482:56;:::o;5440:734::-;5691:11;;5635:7;;5669:10;;5635:7;;;;-1:-1:-1;;;;;5691:11:6;:33;5725:15;5669:10;5753:11;5691:74;;-1:-1:-1;;;5691:74:6;;;;;;;;;;;;;-1:-1:-1;;;;;5691:74:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5683:83;;;;;;;;5790:57;5808:9;5819:11;5832:4;5838:8;5790:17;:57::i;:::-;5771:76;;5892:15;5912:9;5926:4;5935:8;5948:11;5964:8;5977:7;;5989:9;6003:12;5874:145;;:::i;:::-;;;;-1:-1:-1;;;;;5874:145:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5852:167;;6043:11;-1:-1:-1;;;;;6032:37:6;;6070:9;6081:15;6032:65;;-1:-1:-1;;;6032:65:6;;;;;;-1:-1:-1;;;;;6032:65:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6024:74;;;;;;;;6138:11;-1:-1:-1;;;;;6108:42:6;;6127:9;6108:42;;-1:-1:-1;;;;;6108:42:6;;;;;;;;;;;;;;6161:9;5440:734;-1:-1:-1;;;;;;;;;;;5440:734:6:o;15564:159::-;-1:-1:-1;;;;;15667:18:6;15623:13;15667:18;;;:10;:18;;;;;:24;;15693:25;;;;;15667:24;;15564:159::o;4211:524::-;4463:13;;4620:18;;4407:25;;;;-1:-1:-1;;;;;4463:13:6;;;;:30;;4498:12;;;;4515:28;;4548:31;;4584;;4620:18;4463:179;;;;;-1:-1:-1;;;4463:179:6;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4463:179:6;-1:-1:-1;;;;;4463:179:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4439:203;;4679:13;-1:-1:-1;;;;;4651:56:6;4668:9;-1:-1:-1;;;;;4651:56:6;;4694:12;;4651:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4718:13;4211:524;-1:-1:-1;;;;;;4211:524:6:o;1326:44::-;;;;;;;;;;;;;:::o;13926:205::-;14012:4;14066:10;-1:-1:-1;;;;;14031:45:6;14041:5;-1:-1:-1;;;;;14031:29:6;;:31;;;;;-1:-1:-1;;;14031:31:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14031:45:6;;14023:54;;;;;;;;14089:22;14096:5;14103:7;14089:6;:22::i;:::-;14081:31;;;;;;;;-1:-1:-1;14123:4:6;13926:205;;;;;:::o;689:34::-;;;-1:-1:-1;;;;;689:34:6;;:::o;542:48::-;588:2;542:48;:::o;432:47::-;477:2;432:47;:::o;12646:241::-;12700:17;12760:33;12773:10;12785:7;12760:12;:33::i;:::-;12752:42;;;;;;;;12848:10;-1:-1:-1;;;;;12829:39:6;;12860:7;12829:39;;-1:-1:-1;;;;;12829:39:6;;;;;;;;;;;;;;-1:-1:-1;12879:4:6;12646:241;;;:::o;13723:201::-;13807:4;13861:10;-1:-1:-1;;;;;13826:45:6;13836:5;-1:-1:-1;;;;;13826:29:6;;:31;;;;;-1:-1:-1;;;13826:31:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13826:45:6;;13818:54;;;;;;;;13884:20;13889:5;13896:7;13884:4;:20::i;7074:1357::-;7135:4;7180:5;7135:4;;;;;-1:-1:-1;;;;;7225:10:6;7198:37;;;:21;;;:23;;;;;-1:-1:-1;;;7198:23:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7198:37:6;;7190:46;;;;;;;;7275:9;-1:-1:-1;;;;;7275:22:6;;:24;;;;;-1:-1:-1;;;7275:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;7350:18:6;;;:20;;;;;-1:-1:-1;;;7350:20:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7399:35:6;;-1:-1:-1;7382:13:6;:52;;;;;;;;;:111;;;-1:-1:-1;7455:38:6;7438:13;:55;;;;;;;;;7382:111;7374:120;;;;;;;;7541:10;-1:-1:-1;;;;;7541:31:6;;7573:5;7541:38;;-1:-1:-1;;;7541:38:6;;;;;;-1:-1:-1;;;;;7541:38:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:47;;;;;;;;7584:9;-1:-1:-1;;;;;7584:15:6;;:17;;;;;-1:-1:-1;;;7584:17:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7651:11:6;;-1:-1:-1;;;;;7651:11:6;;;;-1:-1:-1;7651:31:6;;7683:26;;;:28;;;;;-1:-1:-1;;;7683:28:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7651:61;;-1:-1:-1;;;7651:61:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7765:11;;7651:61;;-1:-1:-1;;;;;;7765:11:6;;;;-1:-1:-1;7765:41:6;;7807:26;;;:28;;;;;-1:-1:-1;;;7807:28:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7765:71;;-1:-1:-1;;;7765:71:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7906:11;;7765:71;;-1:-1:-1;7889:47:6;;-1:-1:-1;;;;;;7906:11:6;:27;:29;;;;;-1:-1:-1;;;7906:29:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7889:5;;-1:-1:-1;7889:47:6;:16;:47;:::i;:::-;7863:73;;7949:67;7957:9;-1:-1:-1;;;;;7957:21:6;;:23;;;;;-1:-1:-1;;;7957:23:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7982:33;7992:9;-1:-1:-1;;;;;7992:20:6;;:22;;;;;-1:-1:-1;;;7992:22:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7982:5;;-1:-1:-1;7982:33:6;:9;:33;:::i;:::-;7949:6;:67::i;:::-;7941:76;;;;;;;;8067:49;8075:15;8100;8067:5;:49::i;:::-;8059:58;;;;;;;;8240:49;8248:4;8273:15;8240:6;:49::i;:::-;8232:58;;;;;;;;8302:49;8310:4;8335:15;8302:4;:49::i;:::-;8294:58;;;;;;;;8363:49;8380:5;8387:9;-1:-1:-1;;;;;8387:22:6;;:24;;;;;-1:-1:-1;;;8387:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8363:49;;-1:-1:-1;;;;;8363:49:6;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8423:4:6;;7074:1357;-1:-1:-1;;;;;;;7074:1357:6:o;11502:116::-;-1:-1:-1;;;;;11597:17:6;11564:19;11597:17;;;:8;:17;;;;;;;11502:116::o;401:27::-;;;-1:-1:-1;;;;;401:27:6;;:::o;14562:464::-;14667:4;14721:10;-1:-1:-1;;;;;14686:45:6;14696:5;-1:-1:-1;;;;;14686:29:6;;:31;;;;;-1:-1:-1;;;14686:31:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14686:45:6;;14678:54;;;;;;;;14744:23;14750:7;14759;14744:5;:23::i;:::-;14736:32;;;;;;;;14854:11;14850:158;;;-1:-1:-1;;;;;14916:17:6;;;;;;:8;:17;;;;;;14894:65;;14916:42;;588:2;14916:42;:21;:42;:::i;:::-;-1:-1:-1;;;;;14894:17:6;;;;;;:8;:17;;;;;;;:65;:21;:65;:::i;:::-;-1:-1:-1;;;;;14874:17:6;;;;;;:8;:17;;;;;;;:85;;;;:17;14969:34;;14988:5;;14969:34;-1:-1:-1;;;;;14969:34:6;;;;;;;;;;;;;;-1:-1:-1;15018:4:6;14562:464;;;;;;:::o;989:62::-;;;;:::o;13412:145::-;874:18;;13498:4;;860:10;-1:-1:-1;;;;;860:32:6;;;874:18;;860:32;852:41;;;;;;13517:20;13522:5;13529:7;13517:4;:20::i;:::-;13509:29;;;;;;;;-1:-1:-1;13549:4:6;13412:145;;;;:::o;380:18::-;;;-1:-1:-1;;;;;380:18:6;;:::o;11655:731::-;11843:13;;11712:15;;11797:10;;-1:-1:-1;;;;;11843:13:6;:36;11797:10;11843:48;;-1:-1:-1;;;11843:48:6;;;;;;-1:-1:-1;;;;;11843:48:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11835:57;;;;;;;;11929;11934:7;11943:10;-1:-1:-1;;;;;11943:40:6;;:42;;;;;-1:-1:-1;;;11943:42:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11929:4;:57::i;:::-;11921:66;;;;;;;;12059:10;-1:-1:-1;;;;;12059:43:6;;:45;;;;;-1:-1:-1;;;12059:45:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12030:19:6;;;;;;:10;:19;;;;;:25;:74;;;-1:-1:-1;12022:83:6;;;;;;12146:10;-1:-1:-1;;;;;12146:43:6;;:45;;;;;-1:-1:-1;;;12146:45:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12117:17:6;;;;;;:8;:17;;;;;;:74;;;-1:-1:-1;12109:83:6;;;;;;12228:13;;-1:-1:-1;;;;;12228:13:6;:39;12268:10;12280:7;12228:60;;-1:-1:-1;;;12228:60:6;;;;;;-1:-1:-1;;;;;12228:60:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12220:69;;;;;;;;12347:10;-1:-1:-1;;;;;12324:43:6;;12359:7;12324:43;;-1:-1:-1;;;;;12324:43:6;;;;;;;;;;;;;;-1:-1:-1;12378:4:6;;11655:731;-1:-1:-1;;11655:731:6:o;15065:256::-;15117:4;15136:3;;-1:-1:-1;;;;;15136:3:6;:16;15153:10;15173:4;15180:7;15136:52;;-1:-1:-1;;;15136:52:6;;;;;;-1:-1:-1;;;;;15136:52:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15128:61;;;;;;;;-1:-1:-1;;;;;15235:10:6;15224:22;;;;;:10;:22;;;;;:28;:41;;15257:7;15224:41;:32;:41;:::i;:::-;15204:10;-1:-1:-1;;;;;15193:22:6;;;;;;:10;:22;;;;;;;:72;;;;15274:28;;15294:7;;15274:28;-1:-1:-1;;;;;15274:28:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15313:4:6;15065:256;;;:::o;8434:2106::-;8550:4;8593:5;8550:4;;;;;;;;;-1:-1:-1;;;;;8640:10:6;8612:38;;;:22;;;:24;;;;;-1:-1:-1;;;8612:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8612:38:6;;8604:47;;;;;;;;8691:38;8663:9;-1:-1:-1;;;;;8663:18:6;;:20;;;;;-1:-1:-1;;;8663:20:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;;;;;;;;;8655:75;;;;;;8767:9;-1:-1:-1;;;;;8767:15:6;;:17;;;;;-1:-1:-1;;;8767:17:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;8808:14:6;;;:16;;;;;-1:-1:-1;;;8808:16:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8843:1:6;8832:12;;8828:70;;;8861:31;8868:3;-1:-1:-1;;;;;8868:11:6;;:13;;;;;-1:-1:-1;;;8868:13:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8883:8;8861:6;:31::i;:::-;8853:40;;;;;;;;8941:9;-1:-1:-1;;;;;8941:19:6;;:21;;;;;-1:-1:-1;;;8941:21:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;8971:21:6;;;8967:175;;9024:7;-1:-1:-1;;;;;9024:22:6;;:24;;;;;-1:-1:-1;;;9024:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9072:1:6;9057:16;;9053:85;;;9092:39;9099:7;-1:-1:-1;;;;;9099:15:6;;:17;;;;;-1:-1:-1;;;9099:17:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9118:12;9092:6;:39::i;:::-;9084:48;;;;;;;;9387:11;;-1:-1:-1;;;;;9387:11:6;;;;:31;;9419:26;;;:28;;;;;-1:-1:-1;;;9419:28:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9387:61;;-1:-1:-1;;;9387:61:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9501:11;;9387:61;;-1:-1:-1;;;;;;9501:11:6;;;;-1:-1:-1;9501:41:6;;9543:26;;;:28;;;;;-1:-1:-1;;;9543:28:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9501:71;;-1:-1:-1;;;9501:71:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9642:11;;9501:71;;-1:-1:-1;9625:47:6;;-1:-1:-1;;;;;;9642:11:6;:27;:29;;;;;-1:-1:-1;;;9642:29:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9625:5;;-1:-1:-1;9625:47:6;:16;:47;:::i;:::-;9599:73;;9685:66;9692:9;-1:-1:-1;;;;;9692:21:6;;:23;;;;;-1:-1:-1;;;9692:23:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9717:33;9727:9;-1:-1:-1;;;;;9727:20:6;;:22;;;;;-1:-1:-1;;;9727:22:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9717:5;;-1:-1:-1;9717:33:6;:9;:33;:::i;:::-;9685:5;:66::i;:::-;9677:75;;;;;;;;9817:48;9824:15;9849;9817:6;:48::i;:::-;9809:57;;;;;;;;9916:9;-1:-1:-1;;;;;9916:19:6;;9936:7;9945;9954:4;9916:43;;;;;-1:-1:-1;;;9916: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;9916: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;9916: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;9916:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10172:18;10185:4;10172:12;:18::i;:::-;10161:29;-1:-1:-1;;10241:1:6;10233:9;;10230:231;;;10275:77;10285:66;534:4;10285:35;:5;477:2;10285:35;:16;:35;:::i;:::-;:39;:66;:39;:66;:::i;:::-;10275:5;;:77;:9;:77;:::i;:::-;10251:101;;10365:38;10371:4;10389:13;10365:5;:38::i;:::-;10357:47;;;;;;;;10417:38;10424:15;10441:13;10417:6;:38::i;:::-;10409:47;;;;;;;;10470:51;10489:5;10496:9;-1:-1:-1;;;;;10496:22:6;;:24;;;;;-1:-1:-1;;;10496:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10470:51;;-1:-1:-1;;;;;10470:51:6;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10532:4:6;;8434:2106;-1:-1:-1;;;;;;;;;;;;;;8434:2106:6:o;1054:64::-;;;-1:-1:-1;;;;;1054:64:6;;:::o;13559:150::-;874:18;;13648:4;;860:10;-1:-1:-1;;;;;860:32:6;;;874:18;;860:32;852:41;;;;;;13667:22;13674:5;13681:7;13667:6;:22::i;655:31::-;;;-1:-1:-1;;;;;655:31:6;;:::o;1234:54::-;;;;;;;;;;;;;;;;;;;:::o;780:37::-;;;-1:-1:-1;;;;;780:37:6;;:::o;11218:94::-;11296:12;;-1:-1:-1;;;;;11296:12:6;11218:94;;:::o;2750:577::-;2929:12;;-1:-1:-1;;;;;2929:12:6;:26;2921:35;;;;;;2960:12;:34;;-1:-1:-1;;;;;2960:34:6;;;-1:-1:-1;;2960:34:6;;;;;;;;:12;2998:39;;;;;;;;;;3042:18;:40;;;;;;;;;;;;3086:11;:53;;;;;;;;;;3144:13;:57;;;;;;;;;;;;;;;-1:-1:-1;3205:57:6;;;;;;;;;;;;;;-1:-1:-1;3266:57:6;;;;;;;;;;;2750:577::o;929:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10889:326::-;10947:13;10962:11;;:::i;:::-;10975:19;;:::i;:::-;10996:24;11035;11052:6;11035:16;:24::i;:::-;11027:33;;;;;;;;11075:20;;;;:12;:20;;;;;;;;;:26;;11170:37;;;;11105:25;;;;11064:147;;11075:26;;11105:25;;11134:32;;;;;11170:37;;11105:25;;11064:147;;;;;;-1:-1:-1;;11064:147:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10889:326;;;;;:::o;11315:184::-;11432:13;;11378:18;;;;-1:-1:-1;;;;;11432:13:6;:34;11467:7;11432:43;;-1:-1:-1;;;11432:43:6;;;;;;-1:-1:-1;;;;;11432:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11477:17:6;;;;;;;;:8;:17;;;;;;11432:43;;11315:184;-1:-1:-1;;;11315:184:6:o;4738:297::-;4882:6;;4840:18;;;;-1:-1:-1;;;;;4882:6:6;:16;4903:8;;4916:9;4930:10;;4882:62;;;;;-1:-1:-1;;;4882:62:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4882:62:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4865:79;;4974:6;-1:-1:-1;;;;;4953:61:6;4963:9;-1:-1:-1;;;;;4953:61:6;;4982:8;;4992:9;5003:10;;4953:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4953:61:6;;;;;;;;;;;;;;;;;;;;;;;;;;;5025:6;4738:297;-1:-1:-1;;;;;;4738:297:6:o;15764:189::-;-1:-1:-1;;;;;15867:17:6;;15830:4;15867:17;;;:10;:17;;;;;:23;:36;;15895:7;15867:36;:27;:36;:::i;:::-;-1:-1:-1;;;;;15841:17:6;;;;;;:10;:17;;;;;;;:62;;;;15912:22;;15852:5;;15926:7;;15912:22;-1:-1:-1;;;;;15912:22:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15945:4:6;15764:189;;;;:::o;405:123:15:-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;516:8;;405:123;;;;;;:::o;12890:450:6:-;13074:13;;12968:17;;13027:11;;-1:-1:-1;;;;;13074:13:6;:36;13027:11;13074:49;;-1:-1:-1;;;13074:49:6;;;;;;-1:-1:-1;;;;;13074:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13066:58;;;;;;;;13161:59;13168:7;13177:10;-1:-1:-1;;;;;13177:40:6;;:42;;;;;-1:-1:-1;;;13177:42:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13161:6;:59::i;:::-;13153:68;;;;;;;;13257:13;;-1:-1:-1;;;;;13257:13:6;:41;13299:11;13312:7;13257:63;;-1:-1:-1;;;13257:63:6;;;;;;-1:-1:-1;;;;;13257:63:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13249:72;;;;;;;531:106:15;589:7;610:6;;;;603:14;;;;-1:-1:-1;628:5:15;;;531:106::o;6177:858:6:-;6459:6;;6405:7;;6442:4;;6405:7;;;;-1:-1:-1;;;;;6459:6:6;:22;6442:4;6459:36;;-1:-1:-1;;;6459:36:6;;;;;;-1:-1:-1;;;;;6459:36:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6451:45;;;;;;;;6560:3;-1:-1:-1;;;;;6560:14:6;;:16;;;;;-1:-1:-1;;;6560:16:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;6598:22:6;;;6594:259;;-1:-1:-1;6706:10:6;;6684:8;;-1:-1:-1;;;;;6706:10:6;:29;6684:8;6706:42;;-1:-1:-1;;;6706:42:6;;;;;;-1:-1:-1;;;;;6706:42:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6698:51;;;;;;;;6810:38;6823:7;-1:-1:-1;;;;;6823:22:6;;:24;;;;;-1:-1:-1;;;6823:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6810:8;;-1:-1:-1;6810:38:6;:12;:38;:::i;:::-;6799:49;;6594:259;6881:13;;-1:-1:-1;;;;;6881:13:6;:36;6918:11;6881:49;;-1:-1:-1;;;6881:49:6;;;;;;-1:-1:-1;;;;;6881:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6873:58;;;;;;;;6944:26;6949:10;6961:8;6944:4;:26::i;:::-;6936:35;;;;;;;;-1:-1:-1;7023:8:6;6177:858;-1:-1:-1;;;;;;6177:858:6:o;16373:227::-;-1:-1:-1;;;;;16477:17:6;;16439:4;16477:17;;;:10;:17;;;;;:24;;;:37;;16506:7;16477:37;:28;:37;:::i;:::-;-1:-1:-1;;;;;16450:17:6;;;;;;:10;:17;;;;;:24;;;:64;;;;16545:23;:36;;16573:7;16545:36;:27;:36;:::i;:::-;-1:-1:-1;;;;;16518:17:6;;;;;;:10;:17;;;;;:63;-1:-1:-1;16592:4:6;16373:227;;;;:::o;16146:225::-;-1:-1:-1;;;;;16248:17:6;;16210:4;16248:17;;;:10;:17;;;;;:23;:36;;16276:7;16248:36;:27;:36;:::i;:::-;-1:-1:-1;;;;;16221:17:6;;;;;;:10;:17;;;;;:63;;;16315:24;;;:37;;16344:7;16315:37;:28;:37;:::i;:::-;-1:-1:-1;;;;;16288:17:6;;;;;;:10;:17;;;;;:24;;;;:64;;;;:24;-1:-1:-1;16146: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;15955:189:6:-;-1:-1:-1;;;;;16058:17:6;;16020:4;16058:17;;;:10;:17;;;;;:24;;;:37;;16087:7;16058:37;:28;:37;:::i;:::-;-1:-1:-1;;;;;16031:17:6;;;;;;:10;:17;;;;;;;:24;;:64;;;;16104:21;;16042:5;;16117:7;;16104:21;-1:-1:-1;;;;;16104:21:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16136:4:6;15955: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:16321:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;281:16321:6;;;-1:-1:-1;281:16321:6;:::i;:::-;;;:::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\taddress public tokenAddress;\n\n\tuint256 public constant STAKE_BONUS_RATIO = 10;\n\tuint256 public constant STAKE_BONUS_MIN_THRESHOLD = 1000;\n\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 marketplace;\n\taddress public marketplaceAddress;\n\tmodifier onlyMarketplace()\n\t{\n\t\trequire(msg.sender == marketplaceAddress);\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\t/**\n\t * Reputation for PoCo\n\t */\n\tmapping(address => uint256) public m_scores;\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\t)\n\tpublic\n\t{\n\n\t}\n\n\n\tfunction attachContracts(address _tokenAddress,address _marketplaceAddress, address _workerPoolHubAddress, address _appHubAddress, address _datasetHubAddress) public\n\t{\n\t\trequire(tokenAddress == address(0));\n\t\ttokenAddress = _tokenAddress;\n\t\trlc = RLC(_tokenAddress);\n\n\t\tmarketplaceAddress = _marketplaceAddress;\n\t\tmarketplace = Marketplace(_marketplaceAddress);\n\n\t\tworkerPoolHub = WorkerPoolHub(_workerPoolHubAddress);\n\t\tappHub = AppHub (_appHubAddress );\n\t\tdatasetHub = DatasetHub (_datasetHubAddress );\n\t}\n\n\tfunction setCategoriesCreator(address _categoriesCreator) public\n\t{\n\t\trequire(m_categoriesCreator == address(0) || (m_categoriesCreator != address(0) && msg.sender == m_categoriesCreator));\n\t\tm_categoriesCreator = _categoriesCreator;\n\t}\n\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\tmarketplaceAddress\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\trequire(WorkerPool(_workerpool).emitWorkOrder(workorder, _marketorderIdx));\n\n\t\temit WorkOrderActivated(workorder, _workerpool);\n\t\treturn workorder;\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) public 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\tuint256 value = marketplace.getMarketOrderValue(workorder.m_marketorderIdx()); // revert if not exist\n\t\taddress workerpoolOwner = marketplace.getMarketOrderWorkerpoolOwner(workorder.m_marketorderIdx()); // revert if not exist\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 returns (bool)\n\t{\n\t\tWorkOrder workorder = WorkOrder(_woid);\n\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\tuint256 value = marketplace.getMarketOrderValue(workorder.m_marketorderIdx()); // revert if not exist\n\t\taddress workerpoolOwner = marketplace.getMarketOrderWorkerpoolOwner(workorder.m_marketorderIdx()); // revert if not exist\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\tuint256 kitty;\n\t\t(,kitty) = checkBalance(this); // kitty is locked on `this` wallet\n\t\tif(kitty > 0)\n\t\t{\n\t\t\tuint256 kittyFraction = kitty.min(kitty.percentage(STAKE_BONUS_RATIO).max(STAKE_BONUS_MIN_THRESHOLD));\n\t\t\trequire(seize(this, kittyFraction));\n\t\t\trequire(reward(workerpoolOwner, kittyFraction));\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\tm_categories[_catId].catid,\n\t\tm_categories[_catId].name,\n\t\tm_categories[_catId].description,\n\t\tm_categories[_catId].workClockTimeRef\n\t\t);\n\t}\n\n\tfunction getRLCAddress() public view returns (address rlcAddress)\n\t{\n\t\treturn tokenAddress;\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 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 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 returns (bool)\n\t{\n\t\trequire(WorkOrder(_woid).m_workerpool() == msg.sender);\n\t\trequire(reward(_worker, _amount));\n\t\t// ------------------------------------------------------------------------\n\t\tif (_reputation)\n\t\t{\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 returns (bool)\n\t{\n\t\trequire(WorkOrder(_woid).m_workerpool() == msg.sender);\n\t\trequire(seize(_worker, _amount));\n\t\t// ------------------------------------------------------------------------\n\t\tif (_reputation)\n\t\t{\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": [ + 2318 + ] + }, + "id": 2319, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 652, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:6" + }, + { + "absolutePath": "rlc-token/contracts/RLC.sol", + "file": "rlc-token/contracts/RLC.sol", + "id": 653, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 6477, + "src": "26:37:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", + "file": "./WorkOrder.sol", + "id": 654, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 4071, + "src": "65:25:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", + "file": "./Marketplace.sol", + "id": 655, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 3289, + "src": "91:27:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", + "file": "./AppHub.sol", + "id": 656, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 194, + "src": "119:22:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", + "file": "./DatasetHub.sol", + "id": 657, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 388, + "src": "142:26:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", + "file": "./WorkerPoolHub.sol", + "id": 658, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 6041, + "src": "169:29:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 659, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 3686, + "src": "199:26:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 660, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 2810, + "src": "226:24:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [ + 4070 + ], + "contractKind": "contract", + "documentation": "@title IexecHub", + "fullyImplemented": true, + "id": 2318, + "linearizedBaseContracts": [ + 2318 + ], + "name": "IexecHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 663, + "libraryName": { + "contractScope": null, + "id": 661, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3685, + "src": "308:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3685", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "302:29:6", + "typeName": { + "id": 662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "323:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 665, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "380:18:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 664, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6476, + "src": "380:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 667, + "name": "tokenAddress", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "401:27:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 666, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "401:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 670, + "name": "STAKE_BONUS_RATIO", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "432:47:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "432:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 669, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "477:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 673, + "name": "STAKE_BONUS_MIN_THRESHOLD", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "482:56:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 671, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "482:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31303030", + "id": 672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "534:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 676, + "name": "SCORE_UNITARY_SLASH", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "542:48:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 674, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "542:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3530", + "id": 675, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "588:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 678, + "name": "appHub", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "625:27:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + }, + "typeName": { + "contractScope": null, + "id": 677, + "name": "AppHub", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 193, + "src": "625:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 680, + "name": "datasetHub", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "655:31:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + }, + "typeName": { + "contractScope": null, + "id": 679, + "name": "DatasetHub", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 387, + "src": "655:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 682, + "name": "workerPoolHub", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "689:34:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + }, + "typeName": { + "contractScope": null, + "id": 681, + "name": "WorkerPoolHub", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6040, + "src": "689:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 684, + "name": "marketplace", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "754:23:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + }, + "typeName": { + "contractScope": null, + "id": 683, + "name": "Marketplace", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3288, + "src": "754:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 686, + "name": "marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "780:37:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 685, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "780:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 696, + "nodeType": "Block", + "src": "848:54:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 689, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "860:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "860:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 691, + "name": "marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "874:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "860:32:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 688, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "852:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "852:41:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 694, + "nodeType": "ExpressionStatement", + "src": "852:41:6" + }, + { + "id": 695, + "nodeType": "PlaceholderStatement", + "src": "897:1:6" + } + ] + }, + "documentation": null, + "id": 697, + "name": "onlyMarketplace", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 687, + "nodeType": "ParameterList", + "parameters": [], + "src": "844:2:6" + }, + "src": "820:82:6", + "visibility": "internal" + }, + { + "constant": false, + "id": 701, + "name": "m_categories", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "929:57:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + }, + "typeName": { + "id": 700, + "keyType": { + "id": 698, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "937:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "929:37:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 699, + "name": "IexecLib.Category", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2808, + "src": "948:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 703, + "name": "m_categoriesCount", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "989:62:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 702, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "989:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 705, + "name": "m_categoriesCreator", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "1054:64:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 704, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1054:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 715, + "nodeType": "Block", + "src": "1155:55:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 708, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1167:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1167:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 710, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "1181:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1167:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 707, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1159:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1159:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 713, + "nodeType": "ExpressionStatement", + "src": "1159:42:6" + }, + { + "id": 714, + "nodeType": "PlaceholderStatement", + "src": "1205:1:6" + } + ] + }, + "documentation": null, + "id": 716, + "name": "onlyCategoriesCreator", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 706, + "nodeType": "ParameterList", + "parameters": [], + "src": "1151:2:6" + }, + "src": "1121:89:6", + "visibility": "internal" + }, + { + "constant": false, + "id": 720, + "name": "m_accounts", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "1234:54:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + }, + "typeName": { + "id": 719, + "keyType": { + "id": 717, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1242:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1234:36:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 718, + "name": "IexecLib.Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2794, + "src": "1253:16:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage_ptr", + "typeString": "struct IexecLib.Account storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 724, + "name": "m_scores", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "1326:44:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 723, + "keyType": { + "id": 721, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1334:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1326:27:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1345:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 730, + "name": "WorkOrderActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 729, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 726, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 730, + "src": "1400:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 725, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1400:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 728, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 730, + "src": "1414:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 727, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1414:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1399:42:6" + }, + "src": "1375:67:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 736, + "name": "WorkOrderClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 735, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 732, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 736, + "src": "1469:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 731, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1469:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 734, + "indexed": false, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 736, + "src": "1483:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 733, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1483:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1468:34:6" + }, + "src": "1444:59:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 742, + "name": "WorkOrderCompleted", + "nodeType": "EventDefinition", + "parameters": { + "id": 741, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 738, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 742, + "src": "1530:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 737, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1530:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 740, + "indexed": false, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 742, + "src": "1544:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 739, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1544:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1529:34:6" + }, + "src": "1505:59:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 754, + "name": "CreateApp", + "nodeType": "EventDefinition", + "parameters": { + "id": 753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 744, + "indexed": true, + "name": "appOwner", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1590:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 743, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1590:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 746, + "indexed": true, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1623:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 745, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1623:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 748, + "indexed": false, + "name": "appName", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1651:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 747, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1651:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 750, + "indexed": false, + "name": "appPrice", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1671:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 749, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1671:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 752, + "indexed": false, + "name": "appParams", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1693:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 751, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1693:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1589:125:6" + }, + "src": "1567:148:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 766, + "name": "CreateDataset", + "nodeType": "EventDefinition", + "parameters": { + "id": 765, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 756, + "indexed": true, + "name": "datasetOwner", + "nodeType": "VariableDeclaration", + "scope": 766, + "src": "1740:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 755, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1740:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 758, + "indexed": true, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 766, + "src": "1773:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1773:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 760, + "indexed": false, + "name": "datasetName", + "nodeType": "VariableDeclaration", + "scope": 766, + "src": "1801:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 759, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1801:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 762, + "indexed": false, + "name": "datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 766, + "src": "1821:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 761, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1821:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 764, + "indexed": false, + "name": "datasetParams", + "nodeType": "VariableDeclaration", + "scope": 766, + "src": "1843:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 763, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1843:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1739:125:6" + }, + "src": "1717:148:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 774, + "name": "CreateWorkerPool", + "nodeType": "EventDefinition", + "parameters": { + "id": 773, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 768, + "indexed": true, + "name": "workerPoolOwner", + "nodeType": "VariableDeclaration", + "scope": 774, + "src": "1890:31:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 767, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1890:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 770, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 774, + "src": "1923:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1923:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 772, + "indexed": false, + "name": "workerPoolDescription", + "nodeType": "VariableDeclaration", + "scope": 774, + "src": "1951:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 771, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1951:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1889:131:6" + }, + "src": "1867:154:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 784, + "name": "CreateCategory", + "nodeType": "EventDefinition", + "parameters": { + "id": 783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 776, + "indexed": false, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 784, + "src": "2047:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 775, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2047:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 778, + "indexed": false, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 784, + "src": "2062:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 777, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2062:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 780, + "indexed": false, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 784, + "src": "2075:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 779, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2075:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 782, + "indexed": false, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 784, + "src": "2095:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 781, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2095:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2046:74:6" + }, + "src": "2024:97:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 790, + "name": "WorkerPoolSubscription", + "nodeType": "EventDefinition", + "parameters": { + "id": 789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 786, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 790, + "src": "2155:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 785, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2155:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 788, + "indexed": false, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 790, + "src": "2183:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 787, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2183:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2154:44:6" + }, + "src": "2124:75:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 796, + "name": "WorkerPoolUnsubscription", + "nodeType": "EventDefinition", + "parameters": { + "id": 795, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 792, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 796, + "src": "2232:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 791, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2232:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 794, + "indexed": false, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 796, + "src": "2260:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 793, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2260:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2231:44:6" + }, + "src": "2201:75:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 802, + "name": "WorkerPoolEviction", + "nodeType": "EventDefinition", + "parameters": { + "id": 801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 798, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 802, + "src": "2309:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 797, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2309:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 800, + "indexed": false, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 802, + "src": "2337:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 799, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2337:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2308:44:6" + }, + "src": "2278:75:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 808, + "name": "AccurateContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 804, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 808, + "src": "2383:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 803, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2383:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 806, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 808, + "src": "2397:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 805, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2397:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2382:38:6" + }, + "src": "2356:65:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 814, + "name": "FaultyContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 810, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 814, + "src": "2450:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 809, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2450:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 812, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 814, + "src": "2464:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 811, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2464:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2449:38:6" + }, + "src": "2423:65:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 820, + "name": "Deposit", + "nodeType": "EventDefinition", + "parameters": { + "id": 819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 816, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "2506:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2506:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 818, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "2521:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2521:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2505:31:6" + }, + "src": "2491:46:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 826, + "name": "Withdraw", + "nodeType": "EventDefinition", + "parameters": { + "id": 825, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 822, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 826, + "src": "2554:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 821, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2554:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 824, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 826, + "src": "2569:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 823, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2569:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2553:31:6" + }, + "src": "2539:46:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 832, + "name": "Reward", + "nodeType": "EventDefinition", + "parameters": { + "id": 831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 828, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "2602:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 827, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2602:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 830, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "2617:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 829, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2617:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2601:31:6" + }, + "src": "2587:46:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 838, + "name": "Seize", + "nodeType": "EventDefinition", + "parameters": { + "id": 837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 834, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 838, + "src": "2650:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 833, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2650:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 836, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 838, + "src": "2665:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2665:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2649:31:6" + }, + "src": "2635:46:6" + }, + { + "body": { + "id": 841, + "nodeType": "Block", + "src": "2741:5:6", + "statements": [] + }, + "documentation": "Constructor", + "id": 842, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "IexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 839, + "nodeType": "ParameterList", + "parameters": [], + "src": "2727:4:6" + }, + "payable": false, + "returnParameters": { + "id": 840, + "nodeType": "ParameterList", + "parameters": [], + "src": "2741:0:6" + }, + "scope": 2318, + "src": "2710:36:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 901, + "nodeType": "Block", + "src": "2917:410:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 856, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "2929:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2953: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": 857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2945:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2945:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2929:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 855, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2921:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2921:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 862, + "nodeType": "ExpressionStatement", + "src": "2921:35:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 863, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "2960:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 864, + "name": "_tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 844, + "src": "2981:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2960:34:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 866, + "nodeType": "ExpressionStatement", + "src": "2960:34:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 867, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 665, + "src": "2998:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 869, + "name": "_tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 844, + "src": "3023:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 868, + "name": "RLC", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6476, + "src": "3019:3:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_RLC_$6476_$", + "typeString": "type(contract RLC)" + } + }, + "id": 870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3019:18:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "src": "2998:39:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "id": 872, + "nodeType": "ExpressionStatement", + "src": "2998:39:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 873, + "name": "marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "3042:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 874, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 846, + "src": "3063:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3042:40:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 876, + "nodeType": "ExpressionStatement", + "src": "3042:40:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 877, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "3086:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 879, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 846, + "src": "3119:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 878, + "name": "Marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3288, + "src": "3107:11:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Marketplace_$3288_$", + "typeString": "type(contract Marketplace)" + } + }, + "id": 880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3107:32:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "src": "3086:53:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 882, + "nodeType": "ExpressionStatement", + "src": "3086:53:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 883, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "3144:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 885, + "name": "_workerPoolHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 848, + "src": "3179:21:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 884, + "name": "WorkerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6040, + "src": "3165:13:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPoolHub_$6040_$", + "typeString": "type(contract WorkerPoolHub)" + } + }, + "id": 886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3165:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "src": "3144:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 888, + "nodeType": "ExpressionStatement", + "src": "3144:57:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 889, + "name": "appHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 678, + "src": "3205:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 891, + "name": "_appHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 850, + "src": "3240:14:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 890, + "name": "AppHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 193, + "src": "3226:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AppHub_$193_$", + "typeString": "type(contract AppHub)" + } + }, + "id": 892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3226:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + } + }, + "src": "3205:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + } + }, + "id": 894, + "nodeType": "ExpressionStatement", + "src": "3205:57:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 895, + "name": "datasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 680, + "src": "3266:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 897, + "name": "_datasetHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 852, + "src": "3301:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 896, + "name": "DatasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "3287:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DatasetHub_$387_$", + "typeString": "type(contract DatasetHub)" + } + }, + "id": 898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3287:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + } + }, + "src": "3266:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + } + }, + "id": 900, + "nodeType": "ExpressionStatement", + "src": "3266:57:6" + } + ] + }, + "documentation": null, + "id": 902, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "attachContracts", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 844, + "name": "_tokenAddress", + "nodeType": "VariableDeclaration", + "scope": 902, + "src": "2775:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 843, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2775:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 846, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 902, + "src": "2797:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 845, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2797:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 848, + "name": "_workerPoolHubAddress", + "nodeType": "VariableDeclaration", + "scope": 902, + "src": "2826:29:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2826:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 850, + "name": "_appHubAddress", + "nodeType": "VariableDeclaration", + "scope": 902, + "src": "2857:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 849, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2857:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 852, + "name": "_datasetHubAddress", + "nodeType": "VariableDeclaration", + "scope": 902, + "src": "2881:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 851, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2881:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2774:134:6" + }, + "payable": false, + "returnParameters": { + "id": 854, + "nodeType": "ParameterList", + "parameters": [], + "src": "2917:0:6" + }, + "scope": 2318, + "src": "2750:577:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 931, + "nodeType": "Block", + "src": "3396:170:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 908, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "3408:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3439: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": 909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3431:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3431:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3408:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 913, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "3446:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3477: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": 914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3469:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3469:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3446:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 918, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "3483:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3483:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 920, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "3497:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3483:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3446:70:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 923, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3445:72:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3408:109:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 907, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "3400:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3400:118:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 926, + "nodeType": "ExpressionStatement", + "src": "3400:118:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 927, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "3522:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 928, + "name": "_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 904, + "src": "3544:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3522:40:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 930, + "nodeType": "ExpressionStatement", + "src": "3522:40:6" + } + ] + }, + "documentation": null, + "id": 932, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setCategoriesCreator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 904, + "name": "_categoriesCreator", + "nodeType": "VariableDeclaration", + "scope": 932, + "src": "3360:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 903, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3360:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3359:28:6" + }, + "payable": false, + "returnParameters": { + "id": 906, + "nodeType": "ParameterList", + "parameters": [], + "src": "3396:0:6" + }, + "scope": 2318, + "src": "3330:236:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 993, + "nodeType": "Block", + "src": "3742:466:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 945, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "3746:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3805: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": 946, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "3783:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "3783: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": 949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3783:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3746:61:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 951, + "nodeType": "ExpressionStatement", + "src": "3746:61:6" + }, + { + "assignments": [ + 955 + ], + "declarations": [ + { + "constant": false, + "id": 955, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 994, + "src": "3811:34:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 954, + "name": "IexecLib.Category", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2808, + "src": "3811:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 959, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 956, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "3848:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 958, + "indexExpression": { + "argumentTypes": null, + "id": 957, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "3861:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3848:31:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3811:68:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 960, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 955, + "src": "3883:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 962, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "catid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2801, + "src": "3883:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 963, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "3920:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3883:54:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 965, + "nodeType": "ExpressionStatement", + "src": "3883:54:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 966, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 955, + "src": "3941:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 968, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 2803, + "src": "3941:13:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 969, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "3978:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3941:42:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 971, + "nodeType": "ExpressionStatement", + "src": "3941:42:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 972, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 955, + "src": "3987:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 974, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "description", + "nodeType": "MemberAccess", + "referencedDeclaration": 2805, + "src": "3987:20:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 975, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "4024:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3987:49:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 977, + "nodeType": "ExpressionStatement", + "src": "3987:49:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 978, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 955, + "src": "4040:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 980, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2807, + "src": "4040:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 981, + "name": "_workClockTimeRef", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 938, + "src": "4077:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4040:54:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 983, + "nodeType": "ExpressionStatement", + "src": "4040:54:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 985, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "4118:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 986, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "4137:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 987, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "4144:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 988, + "name": "_workClockTimeRef", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 938, + "src": "4158: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": 984, + "name": "CreateCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "4103: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": 989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4103:73:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 990, + "nodeType": "EmitStatement", + "src": "4098:78:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 991, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "4187:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 944, + "id": 992, + "nodeType": "Return", + "src": "4180:24:6" + } + ] + }, + "documentation": "Factory", + "id": 994, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 941, + "modifierName": { + "argumentTypes": null, + "id": 940, + "name": "onlyCategoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 716, + "src": "3695:21:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3695:21:6" + } + ], + "name": "createCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 939, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 934, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 994, + "src": "3619:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 933, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3619:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 936, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 994, + "src": "3636:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 935, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3636:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 938, + "name": "_workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 994, + "src": "3660:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 937, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3660:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3615:71:6" + }, + "payable": false, + "returnParameters": { + "id": 944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 943, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 994, + "src": "3726:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3726:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3725:15:6" + }, + "scope": 2318, + "src": "3592:616:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1027, + "nodeType": "Block", + "src": "4435:300:6", + "statements": [ + { + "assignments": [ + 1008 + ], + "declarations": [ + { + "constant": false, + "id": 1008, + "name": "newWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "4439:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1007, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4439:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1017, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1011, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 996, + "src": "4498:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1012, + "name": "_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 998, + "src": "4515:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1013, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1000, + "src": "4548:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1014, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1002, + "src": "4584:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1015, + "name": "marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "4620:18: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": 1009, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "4463:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "createWorkerPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 5979, + "src": "4463: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": 1016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4463:179:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4439:203:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1019, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "4668:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4668:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1021, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1008, + "src": "4679:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1022, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 996, + "src": "4694: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": 1018, + "name": "CreateWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 774, + "src": "4651:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,string memory)" + } + }, + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4651:56:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1024, + "nodeType": "EmitStatement", + "src": "4646:61:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1025, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1008, + "src": "4718:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1006, + "id": 1026, + "nodeType": "Return", + "src": "4711:20:6" + } + ] + }, + "documentation": null, + "id": 1028, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1003, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 996, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "4240:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 995, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4240:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 998, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "4264:36:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 997, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4264:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1000, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "4304:39:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4304:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1002, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "4347:39:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1001, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4347:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4236:151:6" + }, + "payable": false, + "returnParameters": { + "id": 1006, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1005, + "name": "createdWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "4407:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1004, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4407:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4406:27:6" + }, + "scope": 2318, + "src": "4211:524:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1059, + "nodeType": "Block", + "src": "4861:174:6", + "statements": [ + { + "assignments": [ + 1040 + ], + "declarations": [ + { + "constant": false, + "id": 1040, + "name": "newApp", + "nodeType": "VariableDeclaration", + "scope": 1060, + "src": "4865:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4865:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1047, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1043, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1030, + "src": "4903:8:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1044, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "4916:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1045, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1034, + "src": "4930: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": 1041, + "name": "appHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 678, + "src": "4882:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + } + }, + "id": 1042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "createApp", + "nodeType": "MemberAccess", + "referencedDeclaration": 192, + "src": "4882: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": 1046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4882:62:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4865:79:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1049, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "4963:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4963:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1051, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "4974:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1052, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1030, + "src": "4982:8:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1053, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "4992:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1054, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1034, + "src": "5003: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": 1048, + "name": "CreateApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "4953: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": 1055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4953:61:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1056, + "nodeType": "EmitStatement", + "src": "4948:66:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1057, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "5025:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1038, + "id": 1058, + "nodeType": "Return", + "src": "5018:13:6" + } + ] + }, + "documentation": null, + "id": 1060, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1035, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1030, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 1060, + "src": "4760:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1029, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4760:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1032, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 1060, + "src": "4780:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1031, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4780:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1034, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 1060, + "src": "4801:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1033, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4801:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4756:64:6" + }, + "payable": false, + "returnParameters": { + "id": 1038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1037, + "name": "createdApp", + "nodeType": "VariableDeclaration", + "scope": 1060, + "src": "4840:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1036, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4840:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4839:20:6" + }, + "scope": 2318, + "src": "4738:297:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1091, + "nodeType": "Block", + "src": "5181:223:6", + "statements": [ + { + "assignments": [ + 1072 + ], + "declarations": [ + { + "constant": false, + "id": 1072, + "name": "newDataset", + "nodeType": "VariableDeclaration", + "scope": 1092, + "src": "5185:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1071, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5185:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1079, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1075, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1062, + "src": "5235:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1076, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1064, + "src": "5252:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1077, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "5270: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": 1073, + "name": "datasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 680, + "src": "5206:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + } + }, + "id": 1074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "createDataset", + "nodeType": "MemberAccess", + "referencedDeclaration": 386, + "src": "5206: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": 1078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5206:83:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5185:104:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1081, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "5312:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5312:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1083, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "5323:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1084, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1062, + "src": "5335:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1085, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1064, + "src": "5349:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1086, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "5364: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": 1080, + "name": "CreateDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 766, + "src": "5298: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": 1087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5298:81:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1088, + "nodeType": "EmitStatement", + "src": "5293:86:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1089, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "5390:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1070, + "id": 1090, + "nodeType": "Return", + "src": "5383:17:6" + } + ] + }, + "documentation": null, + "id": 1092, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1062, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 1092, + "src": "5064:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1061, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5064:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1064, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 1092, + "src": "5088:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1063, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5088:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1066, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 1092, + "src": "5113:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1065, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5113:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5060:76:6" + }, + "payable": false, + "returnParameters": { + "id": 1070, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1069, + "name": "createdDataset", + "nodeType": "VariableDeclaration", + "scope": 1092, + "src": "5156:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1068, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5156:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5155:24:6" + }, + "scope": 2318, + "src": "5038:366:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1166, + "nodeType": "Block", + "src": "5645:529:6", + "statements": [ + { + "assignments": [ + 1112 + ], + "declarations": [ + { + "constant": false, + "id": 1112, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5649:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1111, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5649:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1115, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1113, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5669:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5669:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5649:30:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1119, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1094, + "src": "5725:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1120, + "name": "requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1112, + "src": "5742:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1121, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1096, + "src": "5753: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": 1117, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "5691:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "consumeMarketOrderAsk", + "nodeType": "MemberAccess", + "referencedDeclaration": 3142, + "src": "5691: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": 1122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5691:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1116, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "5683:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5683:83:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1124, + "nodeType": "ExpressionStatement", + "src": "5683:83:6" + }, + { + "assignments": [ + 1126 + ], + "declarations": [ + { + "constant": false, + "id": 1126, + "name": "emitcost", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5771:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1125, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5771:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1133, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1128, + "name": "requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1112, + "src": "5808:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1129, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1096, + "src": "5819:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1130, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1098, + "src": "5832:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1131, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "5838: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": 1127, + "name": "lockWorkOrderCost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "5790: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": 1132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5790:57:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5771:76:6" + }, + { + "assignments": [ + 1135 + ], + "declarations": [ + { + "constant": false, + "id": 1135, + "name": "workorder", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5852:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + }, + "typeName": { + "contractScope": null, + "id": 1134, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4070, + "src": "5852:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1148, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1138, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1094, + "src": "5892:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1139, + "name": "requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1112, + "src": "5912:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1140, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1098, + "src": "5926:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1141, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "5935:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1142, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1096, + "src": "5948:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1143, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1126, + "src": "5964:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1144, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1102, + "src": "5977:7:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1145, + "name": "_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "5989:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1146, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1106, + "src": "6003: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": 1137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5874: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_$4070_$", + "typeString": "function (uint256,address,address,address,address,uint256,string memory,address,address) returns (contract WorkOrder)" + }, + "typeName": { + "contractScope": null, + "id": 1136, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4070, + "src": "5878:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + } + }, + "id": 1147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5874:145:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5852:167:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1154, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "6070:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + { + "argumentTypes": null, + "id": 1155, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1094, + "src": "6081:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1151, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1096, + "src": "6043:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1150, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5819, + "src": "6032:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$5819_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:23:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 1153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "emitWorkOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 4748, + "src": "6032:37:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:65:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1149, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "6024:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6024:74:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1158, + "nodeType": "ExpressionStatement", + "src": "6024:74:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1160, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "6127:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + { + "argumentTypes": null, + "id": 1161, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1096, + "src": "6138:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1159, + "name": "WorkOrderActivated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 730, + "src": "6108:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6108:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1163, + "nodeType": "EmitStatement", + "src": "6103:47:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1164, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "6161:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "functionReturnParameters": 1110, + "id": 1165, + "nodeType": "Return", + "src": "6154:16:6" + } + ] + }, + "documentation": "WorkOrder Emission", + "id": 1167, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyForWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1094, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5468:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5468:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1096, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5495:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1095, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5495:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1098, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5518:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1097, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5518:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1100, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5534:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1099, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5534:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1102, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5554:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1101, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5554:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1104, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5573:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1103, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5573:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1106, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5594:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5594:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5464:151:6" + }, + "payable": false, + "returnParameters": { + "id": 1110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1109, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5635:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5635:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5634:9:6" + }, + "scope": 2318, + "src": "5440:734:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1244, + "nodeType": "Block", + "src": "6415:620:6", + "statements": [ + { + "assignments": [ + 1181 + ], + "declarations": [ + { + "constant": false, + "id": 1181, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6428:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + }, + "typeName": { + "contractScope": null, + "id": 1180, + "name": "App", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "6428:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1185, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1183, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1173, + "src": "6442:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1182, + "name": "App", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "6438:3:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_App_$54_$", + "typeString": "type(contract App)" + } + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6438:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6428:19:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1189, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1173, + "src": "6483:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1187, + "name": "appHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 678, + "src": "6459:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + } + }, + "id": 1188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isAppRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 94, + "src": "6459:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6459:36:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1186, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "6451:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6451:45:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1192, + "nodeType": "ExpressionStatement", + "src": "6451:45:6" + }, + { + "assignments": [ + 1194 + ], + "declarations": [ + { + "constant": false, + "id": 1194, + "name": "emitcost", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6541:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6541:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1198, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1195, + "name": "app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1181, + "src": "6560:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "id": 1196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_appPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 11, + "src": "6560:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6560:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6541:35:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1199, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1175, + "src": "6598:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6618: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": 1200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6610:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6610:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6598:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1227, + "nodeType": "IfStatement", + "src": "6594:259:6", + "trueBody": { + "id": 1226, + "nodeType": "Block", + "src": "6653:200:6", + "statements": [ + { + "assignments": [ + 1205 + ], + "declarations": [ + { + "constant": false, + "id": 1205, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6658:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + }, + "typeName": { + "contractScope": null, + "id": 1204, + "name": "Dataset", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 248, + "src": "6658:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1209, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1207, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1175, + "src": "6684:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1206, + "name": "Dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 248, + "src": "6676:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Dataset_$248_$", + "typeString": "type(contract Dataset)" + } + }, + "id": 1208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6676:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6658:35:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1213, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1175, + "src": "6736:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1211, + "name": "datasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 680, + "src": "6706:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + } + }, + "id": 1212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isDatasetRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 288, + "src": "6706:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6706:42:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1210, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "6698:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6698:51:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1216, + "nodeType": "ExpressionStatement", + "src": "6698:51:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1217, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "6799:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1220, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1205, + "src": "6823:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "id": 1221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_datasetPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 205, + "src": "6823:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6823:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1218, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "6810:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "6810: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": 1223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6810:38:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6799:49:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1225, + "nodeType": "ExpressionStatement", + "src": "6799:49:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1231, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "6918:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1229, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "6881:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWorkerPoolRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 5863, + "src": "6881:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6881:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1228, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "6873:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6873:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1234, + "nodeType": "ExpressionStatement", + "src": "6873:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1237, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1169, + "src": "6949:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1238, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "6961:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1236, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2279, + "src": "6944:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6944:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1235, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "6936:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6936:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1241, + "nodeType": "ExpressionStatement", + "src": "6936:35:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1242, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "7023:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1179, + "id": 1243, + "nodeType": "Return", + "src": "7016:15:6" + } + ] + }, + "documentation": null, + "id": 1245, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockWorkOrderCost", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1169, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6207:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1168, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6207:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1171, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6229:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1170, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6229:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1173, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6282:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6282:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1175, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6335:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1174, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6335:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6203:149:6" + }, + "payable": false, + "returnParameters": { + "id": 1179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1178, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6405:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1177, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6405:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6404:9:6" + }, + "scope": 2318, + "src": "6177:858:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1380, + "nodeType": "Block", + "src": "7142:1289:6", + "statements": [ + { + "assignments": [ + 1253 + ], + "declarations": [ + { + "constant": false, + "id": 1253, + "name": "workorder", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7146:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + }, + "typeName": { + "contractScope": null, + "id": 1252, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4070, + "src": "7146:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1257, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1255, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "7180:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1254, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "7170:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7170:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7146:40:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1259, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7198:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 3812, + "src": "7198:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7198:23:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1262, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "7225:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7225:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7198:37:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1258, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "7190:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7190:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1266, + "nodeType": "ExpressionStatement", + "src": "7190:46:6" + }, + { + "assignments": [ + 1268 + ], + "declarations": [ + { + "constant": false, + "id": 1268, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7240:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + }, + "typeName": { + "contractScope": null, + "id": 1267, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5819, + "src": "7240:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1274, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1270, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7275:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "7275:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7275:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1269, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5819, + "src": "7264:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$5819_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7264:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7240:60:6" + }, + { + "assignments": [ + 1278 + ], + "declarations": [ + { + "constant": false, + "id": 1278, + "name": "currentStatus", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7305:42:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 1277, + "name": "IexecLib.WorkOrderStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2750, + "src": "7305:28:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1282, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1279, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7350:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 3802, + "src": "7350:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7350:20:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7305:65:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 1288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1284, + "name": "currentStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1278, + "src": "7382:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1285, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "7399:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 1286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "7399:28:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7399:35:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "7382:52:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 1293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1289, + "name": "currentStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1278, + "src": "7438:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1290, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "7455:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 1291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "7455:28:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7455:38:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "7438:55:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7382:111:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1283, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "7374:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7374:120:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1296, + "nodeType": "ExpressionStatement", + "src": "7374:120:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1300, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "7573:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1298, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1268, + "src": "7541:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 1299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "claimFailedConsensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 4828, + "src": "7541:31:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 1301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7541:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1297, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "7533:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7533:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1303, + "nodeType": "ExpressionStatement", + "src": "7533:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1304, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7584:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "claim", + "nodeType": "MemberAccess", + "referencedDeclaration": 4009, + "src": "7584:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 1307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7584:17:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1308, + "nodeType": "ExpressionStatement", + "src": "7584:17:6" + }, + { + "assignments": [ + 1310 + ], + "declarations": [ + { + "constant": false, + "id": 1310, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7625:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1309, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7625:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1317, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1313, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7683:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 3804, + "src": "7683:26: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": "7683:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1311, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "7651:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderValue", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "7651:31:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 1316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7651:61:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7625:87:6" + }, + { + "assignments": [ + 1319 + ], + "declarations": [ + { + "constant": false, + "id": 1319, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7739:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1318, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7739:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1326, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1322, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7807:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 3804, + "src": "7807:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7807:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1320, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "7765:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderWorkerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3195, + "src": "7765:41:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 1325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7765:71:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7739:97:6" + }, + { + "assignments": [ + 1328 + ], + "declarations": [ + { + "constant": false, + "id": 1328, + "name": "workerpoolStake", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7863:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1327, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7863:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1335, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1331, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "7906:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ASK_STAKE_RATIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 2829, + "src": "7906:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7906:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1329, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1310, + "src": "7889:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "7889: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": 1334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7889:47:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7863:73:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1338, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7957:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 3812, + "src": "7957:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7957:23:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1343, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7992:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_emitcost", + "nodeType": "MemberAccess", + "referencedDeclaration": 3814, + "src": "7992:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7992:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1310, + "src": "7982:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "7982: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": 1346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7982:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1337, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2317, + "src": "7949:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7949:67:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1336, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "7941:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7941:76:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1349, + "nodeType": "ExpressionStatement", + "src": "7941:76:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1352, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "8075:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1353, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "8100:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1351, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "8067:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8067:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1350, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8059:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8059:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1356, + "nodeType": "ExpressionStatement", + "src": "8059:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1359, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6754, + "src": "8248:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + }, + { + "argumentTypes": null, + "id": 1360, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "8273:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1358, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2211, + "src": "8240:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8240:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1357, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8232:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8232:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1363, + "nodeType": "ExpressionStatement", + "src": "8232:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1366, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6754, + "src": "8310:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + }, + { + "argumentTypes": null, + "id": 1367, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "8335:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1365, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2279, + "src": "8302:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8302:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1364, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8294:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8294:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1370, + "nodeType": "ExpressionStatement", + "src": "8294:58:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1372, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "8380:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1373, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "8387:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "8387:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8387:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1371, + "name": "WorkOrderClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 736, + "src": "8363:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8363:49:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1377, + "nodeType": "EmitStatement", + "src": "8358:54:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8423:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1251, + "id": 1379, + "nodeType": "Return", + "src": "8416:11:6" + } + ] + }, + "documentation": "WorkOrder life cycle", + "id": 1381, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claimFailedConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1248, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1247, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7104:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1246, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7104:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7103:15:6" + }, + "payable": false, + "returnParameters": { + "id": 1251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1250, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7135:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1249, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7135:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7134:6:6" + }, + "scope": 2318, + "src": "7074:1357:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1589, + "nodeType": "Block", + "src": "8557:1983:6", + "statements": [ + { + "assignments": [ + 1395 + ], + "declarations": [ + { + "constant": false, + "id": 1395, + "name": "workorder", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8561:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + }, + "typeName": { + "contractScope": null, + "id": 1394, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4070, + "src": "8561:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1399, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1397, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1383, + "src": "8593:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1396, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "8583:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8583:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8561:38:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1401, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "8612:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "8612:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8612:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1404, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "8640:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8640:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8612:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1400, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8604:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8604:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1408, + "nodeType": "ExpressionStatement", + "src": "8604:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 1416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1410, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "8663:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 3802, + "src": "8663:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8663:20:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1413, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "8691:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 1414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "8691:28:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8691:38:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "8663:66:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1409, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8655:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8655:75:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1418, + "nodeType": "ExpressionStatement", + "src": "8655:75:6" + }, + { + "assignments": [ + 1420 + ], + "declarations": [ + { + "constant": false, + "id": 1420, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8744:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + }, + "typeName": { + "contractScope": null, + "id": 1419, + "name": "App", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "8744:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1426, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1422, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "8767:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_app", + "nodeType": "MemberAccess", + "referencedDeclaration": 3806, + "src": "8767:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8767:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1421, + "name": "App", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "8763:3:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_App_$54_$", + "typeString": "type(contract App)" + } + }, + "id": 1425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8763:22:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8744:41:6" + }, + { + "assignments": [ + 1428 + ], + "declarations": [ + { + "constant": false, + "id": 1428, + "name": "appPrice", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8789:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1427, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8789:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1432, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1429, + "name": "app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "8808:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "id": 1430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_appPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 11, + "src": "8808:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8808:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8789:35:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1433, + "name": "appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "8832:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8843:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8832:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1446, + "nodeType": "IfStatement", + "src": "8828:70:6", + "trueBody": { + "id": 1445, + "nodeType": "Block", + "src": "8848:50:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1438, + "name": "app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "8868:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "id": 1439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3456, + "src": "8868:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8868:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1441, + "name": "appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "8883:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1437, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2211, + "src": "8861: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": "8861:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1436, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8853: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": "8853:40:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1444, + "nodeType": "ExpressionStatement", + "src": "8853:40:6" + } + ] + } + }, + { + "assignments": [ + 1448 + ], + "declarations": [ + { + "constant": false, + "id": 1448, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8915:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + }, + "typeName": { + "contractScope": null, + "id": 1447, + "name": "Dataset", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 248, + "src": "8915:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1454, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1450, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "8941:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_dataset", + "nodeType": "MemberAccess", + "referencedDeclaration": 3808, + "src": "8941:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8941:21:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1449, + "name": "Dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 248, + "src": "8933:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Dataset_$248_$", + "typeString": "type(contract Dataset)" + } + }, + "id": 1453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8933:30:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8915:48:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1455, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "8971:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8990: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": 1456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8982:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8982:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8971:21:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1481, + "nodeType": "IfStatement", + "src": "8967:175:6", + "trueBody": { + "id": 1480, + "nodeType": "Block", + "src": "8996:146:6", + "statements": [ + { + "assignments": [ + 1461 + ], + "declarations": [ + { + "constant": false, + "id": 1461, + "name": "datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "9001:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1460, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9001:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1465, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1462, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "9024:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_datasetPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 205, + "src": "9024:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9024:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9001:47:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1466, + "name": "datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1461, + "src": "9057:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9072:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9057:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1479, + "nodeType": "IfStatement", + "src": "9053:85:6", + "trueBody": { + "id": 1478, + "nodeType": "Block", + "src": "9078:60:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1471, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "9099:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "id": 1472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3456, + "src": "9099:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9099:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1474, + "name": "datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1461, + "src": "9118:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1470, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2211, + "src": "9092:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9092:39:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1469, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9084:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9084:48:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1477, + "nodeType": "ExpressionStatement", + "src": "9084:48:6" + } + ] + } + } + ] + } + }, + { + "assignments": [ + 1483 + ], + "declarations": [ + { + "constant": false, + "id": 1483, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "9361:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9361:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1490, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1486, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "9419:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 3804, + "src": "9419:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9419:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1484, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "9387:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderValue", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "9387:31:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 1489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9387:61:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9361:87:6" + }, + { + "assignments": [ + 1492 + ], + "declarations": [ + { + "constant": false, + "id": 1492, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "9475:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1491, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9475:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1499, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1495, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "9543:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 3804, + "src": "9543:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9543:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1493, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "9501:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderWorkerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3195, + "src": "9501:41:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 1498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9501:71:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9475:97:6" + }, + { + "assignments": [ + 1501 + ], + "declarations": [ + { + "constant": false, + "id": 1501, + "name": "workerpoolStake", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "9599:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9599:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1508, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1504, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "9642:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ASK_STAKE_RATIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 2829, + "src": "9642:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9642:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1502, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "9625:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "9625: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": 1507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9625:47:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9599:73:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1511, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "9692:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 3812, + "src": "9692:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9692:23:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1516, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "9727:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_emitcost", + "nodeType": "MemberAccess", + "referencedDeclaration": 3814, + "src": "9727:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9727:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1514, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "9717:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "9717: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": 1519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9717:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1510, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "9685:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9685:66:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1509, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9677:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9677:75:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1522, + "nodeType": "ExpressionStatement", + "src": "9677:75:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1525, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "9824:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1526, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "9849:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1524, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2317, + "src": "9817:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9817:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1523, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9809:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9809:57:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1529, + "nodeType": "ExpressionStatement", + "src": "9809:57:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1533, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1385, + "src": "9936:7:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1534, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1387, + "src": "9945:7:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1535, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1389, + "src": "9954: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": 1530, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "9916:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResult", + "nodeType": "MemberAccess", + "referencedDeclaration": 4069, + "src": "9916: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": 1536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9916:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1537, + "nodeType": "ExpressionStatement", + "src": "9916:43:6" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1539, + "name": "kitty", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "10144:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10144:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1540, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10144:13:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 1541, + "name": "kitty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "10163:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1542, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10161:8:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1544, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6754, + "src": "10185:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + ], + "id": 1543, + "name": "checkBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2181, + "src": "10172:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address) view returns (uint256,uint256)" + } + }, + "id": 1545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10172:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "10161:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1547, + "nodeType": "ExpressionStatement", + "src": "10161:29:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1548, + "name": "kitty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "10233:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10241:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10233:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1579, + "nodeType": "IfStatement", + "src": "10230:231:6", + "trueBody": { + "id": 1578, + "nodeType": "Block", + "src": "10246:215:6", + "statements": [ + { + "assignments": [ + 1552 + ], + "declarations": [ + { + "constant": false, + "id": 1552, + "name": "kittyFraction", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "10251:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10251:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1563, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1560, + "name": "STAKE_BONUS_MIN_THRESHOLD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 673, + "src": "10325:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1557, + "name": "STAKE_BONUS_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 670, + "src": "10302:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1555, + "name": "kitty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "10285:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "10285: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": 1558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10285:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": 3622, + "src": "10285: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": 1561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10285:66:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1553, + "name": "kitty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "10275:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 3639, + "src": "10275: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": 1562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10275:77:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10251:101:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1566, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6754, + "src": "10371:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + }, + { + "argumentTypes": null, + "id": 1567, + "name": "kittyFraction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "10389:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1565, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "10365:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10365:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1564, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10357:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10357:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1570, + "nodeType": "ExpressionStatement", + "src": "10357:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1573, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "10424:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1574, + "name": "kittyFraction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "10441:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1572, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2211, + "src": "10417:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10417:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1571, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10409:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10409:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1577, + "nodeType": "ExpressionStatement", + "src": "10409:47:6" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1581, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1383, + "src": "10489:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1582, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "10496:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "10496:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10496:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1580, + "name": "WorkOrderCompleted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 742, + "src": "10470:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10470:51:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1586, + "nodeType": "EmitStatement", + "src": "10465:56:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10532:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1393, + "id": 1588, + "nodeType": "Return", + "src": "10525:11:6" + } + ] + }, + "documentation": null, + "id": 1590, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "finalizeWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1383, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8464:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1382, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8464:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1385, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8481:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1384, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8481:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1387, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8500:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1386, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8500:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1389, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8519:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1388, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8519:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8460:72:6" + }, + "payable": false, + "returnParameters": { + "id": 1393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1392, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8550:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1391, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8550:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8549:6:6" + }, + "scope": 2318, + "src": "8434:2106:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1608, + "nodeType": "Block", + "src": "10664:89:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1599, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1592, + "src": "10693:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1598, + "name": "existingCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1624, + "src": "10676:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10676:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1597, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10668:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10668:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1602, + "nodeType": "ExpressionStatement", + "src": "10668:33:6" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1603, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "10712:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1605, + "indexExpression": { + "argumentTypes": null, + "id": 1604, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1592, + "src": "10725:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10712:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1606, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2807, + "src": "10712:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1596, + "id": 1607, + "nodeType": "Return", + "src": "10705:44:6" + } + ] + }, + "documentation": "Views", + "id": 1609, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategoryWorkClockTimeRef", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1592, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 1609, + "src": "10600:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1591, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10600:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10599:16:6" + }, + "payable": false, + "returnParameters": { + "id": 1596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1595, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1609, + "src": "10637:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1594, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10637:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10636:26:6" + }, + "scope": 2318, + "src": "10563:190:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1623, + "nodeType": "Block", + "src": "10841:45:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1616, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "10852:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1618, + "indexExpression": { + "argumentTypes": null, + "id": 1617, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1611, + "src": "10865:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10852:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1619, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "catid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2801, + "src": "10852:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10881:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10852:30:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1615, + "id": 1622, + "nodeType": "Return", + "src": "10845:37:6" + } + ] + }, + "documentation": null, + "id": 1624, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1612, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1611, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "10782:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1610, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10782:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10781:16:6" + }, + "payable": false, + "returnParameters": { + "id": 1615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1614, + "name": "categoryExist", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "10820:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1613, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10820:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10819:20:6" + }, + "scope": 2318, + "src": "10756:130:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1661, + "nodeType": "Block", + "src": "11023:192:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1639, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "11052:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1638, + "name": "existingCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1624, + "src": "11035:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11035:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1637, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11027:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11027:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1642, + "nodeType": "ExpressionStatement", + "src": "11027:33:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1643, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "11075:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1645, + "indexExpression": { + "argumentTypes": null, + "id": 1644, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "11088:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11075:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1646, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "catid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2801, + "src": "11075:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1647, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "11105:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1649, + "indexExpression": { + "argumentTypes": null, + "id": 1648, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "11118:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11105:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 2803, + "src": "11105:25:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1651, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "11134:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1653, + "indexExpression": { + "argumentTypes": null, + "id": 1652, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "11147:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11134:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "description", + "nodeType": "MemberAccess", + "referencedDeclaration": 2805, + "src": "11134:32:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1655, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "11170:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1657, + "indexExpression": { + "argumentTypes": null, + "id": 1656, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "11183:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11170:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2807, + "src": "11170:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1659, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11071:140: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": 1636, + "id": 1660, + "nodeType": "Return", + "src": "11064:147:6" + } + ] + }, + "documentation": null, + "id": 1662, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1626, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 1662, + "src": "10910:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1625, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10910:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10909:16:6" + }, + "payable": false, + "returnParameters": { + "id": 1636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1629, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 1662, + "src": "10947:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1628, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10947:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1631, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1662, + "src": "10962:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1630, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10962:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1633, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1662, + "src": "10975:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1632, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10975:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1635, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1662, + "src": "10996:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1634, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10996:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10946:75:6" + }, + "scope": 2318, + "src": "10889:326:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1669, + "nodeType": "Block", + "src": "11285:27:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1667, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "11296:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1666, + "id": 1668, + "nodeType": "Return", + "src": "11289:19:6" + } + ] + }, + "documentation": null, + "id": 1670, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getRLCAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1663, + "nodeType": "ParameterList", + "parameters": [], + "src": "11240:2:6" + }, + "payable": false, + "returnParameters": { + "id": 1666, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1665, + "name": "rlcAddress", + "nodeType": "VariableDeclaration", + "scope": 1670, + "src": "11264:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1664, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11264:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11263:20:6" + }, + "scope": 2318, + "src": "11218:94:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1688, + "nodeType": "Block", + "src": "11420:79:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1681, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1672, + "src": "11467:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1679, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "11432:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getWorkerAffectation", + "nodeType": "MemberAccess", + "referencedDeclaration": 5903, + "src": "11432:34:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + "id": 1682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11432:43:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1683, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "11477:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1685, + "indexExpression": { + "argumentTypes": null, + "id": 1684, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1672, + "src": "11486:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11477:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1686, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11431:64:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "functionReturnParameters": 1678, + "id": 1687, + "nodeType": "Return", + "src": "11424:71:6" + } + ] + }, + "documentation": null, + "id": 1689, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1672, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1689, + "src": "11340:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1671, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11340:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11339:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1675, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 1689, + "src": "11378:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1674, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11378:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1677, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 1689, + "src": "11398:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1676, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11398:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11377:41:6" + }, + "scope": 2318, + "src": "11315:184:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1700, + "nodeType": "Block", + "src": "11586:32:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1696, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "11597:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1698, + "indexExpression": { + "argumentTypes": null, + "id": 1697, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1691, + "src": "11606:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11597:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1695, + "id": 1699, + "nodeType": "Return", + "src": "11590:24:6" + } + ] + }, + "documentation": null, + "id": 1701, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerScore", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1691, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1701, + "src": "11526:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1690, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11526:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11525:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1694, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 1701, + "src": "11564:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1693, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11564:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11563:21:6" + }, + "scope": 2318, + "src": "11502:116:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1770, + "nodeType": "Block", + "src": "11758:628:6", + "statements": [ + { + "assignments": [ + 1709 + ], + "declarations": [ + { + "constant": false, + "id": 1709, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1771, + "src": "11762:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + }, + "typeName": { + "contractScope": null, + "id": 1708, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5819, + "src": "11762:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1714, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1711, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11797:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11797:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1710, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5819, + "src": "11786:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$5819_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11786:22:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11762:46:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1718, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11880:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11880:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1716, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "11843:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWorkerPoolRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 5863, + "src": "11843:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11843:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1715, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11835:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11835:57:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1722, + "nodeType": "ExpressionStatement", + "src": "11835:57:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1725, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1703, + "src": "11934:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1726, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1709, + "src": "11943:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionLockStakePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4097, + "src": "11943:40:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11943:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1724, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2279, + "src": "11929:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11929:57:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1723, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11921:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11921:66:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1731, + "nodeType": "ExpressionStatement", + "src": "11921:66:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1733, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "12030:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 1735, + "indexExpression": { + "argumentTypes": null, + "id": 1734, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1703, + "src": "12041:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12030:19:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 1736, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "12030:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1737, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1709, + "src": "12059:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 1738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionMinimumStakePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4099, + "src": "12059:43:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12059:45:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12030:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1732, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12022:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12022:83:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1742, + "nodeType": "ExpressionStatement", + "src": "12022:83:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1744, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "12117:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1746, + "indexExpression": { + "argumentTypes": null, + "id": 1745, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1703, + "src": "12126:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12117:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1747, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1709, + "src": "12146:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 1748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionMinimumScorePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4101, + "src": "12146:43:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12146:45:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12117:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1743, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12109:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12109:83:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1752, + "nodeType": "ExpressionStatement", + "src": "12109:83:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1756, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "12268:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12268:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1758, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1703, + "src": "12280:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1754, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "12228:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "registerWorkerAffectation", + "nodeType": "MemberAccess", + "referencedDeclaration": 6009, + "src": "12228:39:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) external returns (bool)" + } + }, + "id": 1759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12228:60:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1753, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12220:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12220:69:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1761, + "nodeType": "ExpressionStatement", + "src": "12220:69:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1763, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "12347:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12347:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1765, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1703, + "src": "12359:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1762, + "name": "WorkerPoolSubscription", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 790, + "src": "12324:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12324:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1767, + "nodeType": "EmitStatement", + "src": "12319:48:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12378:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1707, + "id": 1769, + "nodeType": "Return", + "src": "12371:11:6" + } + ] + }, + "documentation": "Worker subscription", + "id": 1771, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "registerToPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1703, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1771, + "src": "11679:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1702, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11679:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11678:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1706, + "name": "subscribed", + "nodeType": "VariableDeclaration", + "scope": 1771, + "src": "11712:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1705, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11712:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11711:17:6" + }, + "scope": 2318, + "src": "11655:731:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1794, + "nodeType": "Block", + "src": "12498:145:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1780, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "12523:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12523:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1782, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1773, + "src": "12535:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1779, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1861, + "src": "12510:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) returns (bool)" + } + }, + "id": 1783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12510:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1778, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12502:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12502:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1785, + "nodeType": "ExpressionStatement", + "src": "12502:42:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1787, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "12604:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12604:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1789, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1773, + "src": "12616:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1786, + "name": "WorkerPoolUnsubscription", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 796, + "src": "12579:24:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12579:45:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1791, + "nodeType": "EmitStatement", + "src": "12574:50:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12635:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1777, + "id": 1793, + "nodeType": "Return", + "src": "12628:11:6" + } + ] + }, + "documentation": null, + "id": 1795, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unregisterFromPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1774, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1773, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1795, + "src": "12417:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1772, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12417:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12416:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1777, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1776, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 1795, + "src": "12450:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1775, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12450:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12449:19:6" + }, + "scope": 2318, + "src": "12389:254:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1818, + "nodeType": "Block", + "src": "12748:139:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1804, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "12773: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": "12773:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1806, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1797, + "src": "12785:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1803, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1861, + "src": "12760:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) returns (bool)" + } + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12760:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1802, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12752:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12752:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1809, + "nodeType": "ExpressionStatement", + "src": "12752:42:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1811, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "12848:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12848:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1813, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1797, + "src": "12860:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1810, + "name": "WorkerPoolEviction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 802, + "src": "12829:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12829:39:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1815, + "nodeType": "EmitStatement", + "src": "12824:44:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12879:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1801, + "id": 1817, + "nodeType": "Return", + "src": "12872:11:6" + } + ] + }, + "documentation": null, + "id": 1819, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "evictWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1797, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1819, + "src": "12667:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1796, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12667:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12666:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1800, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 1819, + "src": "12700:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1799, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12700:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12699:19:6" + }, + "scope": 2318, + "src": "12646:241:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1860, + "nodeType": "Block", + "src": "12988:352:6", + "statements": [ + { + "assignments": [ + 1829 + ], + "declarations": [ + { + "constant": false, + "id": 1829, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "12992:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + }, + "typeName": { + "contractScope": null, + "id": 1828, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5819, + "src": "12992:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1833, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1831, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "13027:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1830, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5819, + "src": "13016:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$5819_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13016:23:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12992:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1837, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "13111:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1835, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "13074:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWorkerPoolRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 5863, + "src": "13074:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13074:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1834, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13066:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13066:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1840, + "nodeType": "ExpressionStatement", + "src": "13066:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1843, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1823, + "src": "13168:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1844, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1829, + "src": "13177:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 1845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionLockStakePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4097, + "src": "13177:40:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13177:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1842, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2317, + "src": "13161:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13161:59:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1841, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13153:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13153:68:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1849, + "nodeType": "ExpressionStatement", + "src": "13153:68:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1853, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "13299:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1854, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1823, + "src": "13312:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1851, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "13257:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unregisterWorkerAffectation", + "nodeType": "MemberAccess", + "referencedDeclaration": 6039, + "src": "13257:41:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) external returns (bool)" + } + }, + "id": 1855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13257:63:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1850, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13249:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13249:72:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1857, + "nodeType": "ExpressionStatement", + "src": "13249:72:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13332:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1827, + "id": 1859, + "nodeType": "Return", + "src": "13325:11:6" + } + ] + }, + "documentation": null, + "id": 1861, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1821, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "12912:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1820, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12912:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1823, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "12933:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12933:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12911:38:6" + }, + "payable": false, + "returnParameters": { + "id": 1827, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1826, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "12968:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1825, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12968:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12967:19:6" + }, + "scope": 2318, + "src": "12890:450:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1881, + "nodeType": "Block", + "src": "13505:52:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1874, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1863, + "src": "13522:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1875, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1865, + "src": "13529:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1873, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2279, + "src": "13517:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13517:20:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1872, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13509:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13509:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1878, + "nodeType": "ExpressionStatement", + "src": "13509:29:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13549:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1871, + "id": 1880, + "nodeType": "Return", + "src": "13542:11:6" + } + ] + }, + "documentation": "Stake, reward and penalty functions", + "id": 1882, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 1868, + "modifierName": { + "argumentTypes": null, + "id": 1867, + "name": "onlyMarketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "13473:15:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "13473:15:6" + } + ], + "name": "lockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1863, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1882, + "src": "13434:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1862, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13434:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1865, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1882, + "src": "13449:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1864, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13449:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13433:32:6" + }, + "payable": false, + "returnParameters": { + "id": 1871, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1870, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1882, + "src": "13498:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1869, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13498:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13497:6:6" + }, + "scope": 2318, + "src": "13412:145:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1902, + "nodeType": "Block", + "src": "13655:54:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1895, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1884, + "src": "13674:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1896, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1886, + "src": "13681:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1894, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2317, + "src": "13667:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13667:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1893, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13659:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13659:31:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1899, + "nodeType": "ExpressionStatement", + "src": "13659:31:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13701:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1892, + "id": 1901, + "nodeType": "Return", + "src": "13694:11:6" + } + ] + }, + "documentation": null, + "id": 1903, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 1889, + "modifierName": { + "argumentTypes": null, + "id": 1888, + "name": "onlyMarketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "13623:15:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "13623:15:6" + } + ], + "name": "unlockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1884, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1903, + "src": "13583:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1883, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13583:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1886, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1903, + "src": "13598:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13598:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13582:32:6" + }, + "payable": false, + "returnParameters": { + "id": 1892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1891, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1903, + "src": "13648:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1890, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13648:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13647:6:6" + }, + "scope": 2318, + "src": "13559:150:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1934, + "nodeType": "Block", + "src": "13814:110:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1916, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1905, + "src": "13836:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1915, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "13826:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13826:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "13826:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13826:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1920, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "13861:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13861:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13826:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1914, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13818:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13818:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1924, + "nodeType": "ExpressionStatement", + "src": "13818:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1927, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "13889:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1928, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1909, + "src": "13896:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1926, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2279, + "src": "13884:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13884:20:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1925, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13876:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13876:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1931, + "nodeType": "ExpressionStatement", + "src": "13876:29:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13916:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1913, + "id": 1933, + "nodeType": "Return", + "src": "13909:11:6" + } + ] + }, + "documentation": null, + "id": 1935, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1905, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1935, + "src": "13744:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1904, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13744:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1907, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1935, + "src": "13759:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13759:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1909, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1935, + "src": "13774:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1908, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13774:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13743:47:6" + }, + "payable": false, + "returnParameters": { + "id": 1913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1912, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1935, + "src": "13807:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1911, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13807:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13806:6:6" + }, + "scope": 2318, + "src": "13723:201:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1966, + "nodeType": "Block", + "src": "14019:112:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1948, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1937, + "src": "14041:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1947, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "14031:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14031:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "14031:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14031:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1952, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "14066:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14066:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14031:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1946, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14023:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14023:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1956, + "nodeType": "ExpressionStatement", + "src": "14023:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1959, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1939, + "src": "14096:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1960, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1941, + "src": "14103:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1958, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2317, + "src": "14089:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14089:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1957, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14081:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14081:31:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1963, + "nodeType": "ExpressionStatement", + "src": "14081:31:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14123:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1945, + "id": 1965, + "nodeType": "Return", + "src": "14116:11:6" + } + ] + }, + "documentation": null, + "id": 1967, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1937, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1967, + "src": "13949:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1936, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13949:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1939, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1967, + "src": "13964:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1938, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13964:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1941, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1967, + "src": "13979:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13979:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13948:47:6" + }, + "payable": false, + "returnParameters": { + "id": 1945, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1944, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1967, + "src": "14012:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1943, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14012:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14011:6:6" + }, + "scope": 2318, + "src": "13926:205:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2019, + "nodeType": "Block", + "src": "14246:314:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1982, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1969, + "src": "14268:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1981, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "14258:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14258:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "14258:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14258:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1986, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "14293:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14293:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14258:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1980, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14250:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14250:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1990, + "nodeType": "ExpressionStatement", + "src": "14250:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1993, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "14323:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1994, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "14332:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1992, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2211, + "src": "14316:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14316:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1991, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14308:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14308:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1997, + "nodeType": "ExpressionStatement", + "src": "14308:33:6" + }, + { + "condition": { + "argumentTypes": null, + "id": 1998, + "name": "_reputation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1975, + "src": "14427:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2016, + "nodeType": "IfStatement", + "src": "14423:119:6", + "trueBody": { + "id": 2015, + "nodeType": "Block", + "src": "14442:100:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1999, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "14447:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2001, + "indexExpression": { + "argumentTypes": null, + "id": 2000, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "14456:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14447:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14489: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": 2002, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "14467:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2004, + "indexExpression": { + "argumentTypes": null, + "id": 2003, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "14476:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14467:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "14467: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": 2007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14467:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14447:44:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2009, + "nodeType": "ExpressionStatement", + "src": "14447:44:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2011, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1969, + "src": "14522:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2012, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "14529:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2010, + "name": "AccurateContribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "14501:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 2013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14501:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2014, + "nodeType": "EmitStatement", + "src": "14496:41:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14552:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1979, + "id": 2018, + "nodeType": "Return", + "src": "14545:11:6" + } + ] + }, + "documentation": null, + "id": 2020, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "rewardForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1976, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1969, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2020, + "src": "14156:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1968, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14156:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1971, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2020, + "src": "14171:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1970, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14171:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1973, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2020, + "src": "14188:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1972, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14188:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1975, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2020, + "src": "14205:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1974, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14205:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14155:67:6" + }, + "payable": false, + "returnParameters": { + "id": 1979, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1978, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2020, + "src": "14239:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1977, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14239:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14238:6:6" + }, + "scope": 2318, + "src": "14133:427:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2077, + "nodeType": "Block", + "src": "14674:352:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2035, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2022, + "src": "14696:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2034, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "14686:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 2036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14686:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 2037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "14686:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14686:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2039, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "14721:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14721:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14686:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2033, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14678:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14678:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2043, + "nodeType": "ExpressionStatement", + "src": "14678:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2046, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2024, + "src": "14750:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2047, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2026, + "src": "14759:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2045, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "14744:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 2048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14744:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2044, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14736:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14736:32:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2050, + "nodeType": "ExpressionStatement", + "src": "14736:32:6" + }, + { + "condition": { + "argumentTypes": null, + "id": 2051, + "name": "_reputation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2028, + "src": "14854:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2074, + "nodeType": "IfStatement", + "src": "14850:158:6", + "trueBody": { + "id": 2073, + "nodeType": "Block", + "src": "14869:139:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2052, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "14874:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2054, + "indexExpression": { + "argumentTypes": null, + "id": 2053, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2024, + "src": "14883:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14874:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2063, + "name": "SCORE_UNITARY_SLASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "14938:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2059, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "14916:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2061, + "indexExpression": { + "argumentTypes": null, + "id": 2060, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2024, + "src": "14925:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14916:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 3639, + "src": "14916: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": 2064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14916:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2055, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "14894:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2057, + "indexExpression": { + "argumentTypes": null, + "id": 2056, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2024, + "src": "14903:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14894:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "14894: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": 2065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14894:65:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14874:85:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2067, + "nodeType": "ExpressionStatement", + "src": "14874:85:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2069, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2022, + "src": "14988:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2070, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2024, + "src": "14995:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2068, + "name": "FaultyContribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 814, + "src": "14969:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 2071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14969:34:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2072, + "nodeType": "EmitStatement", + "src": "14964:39:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15018:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2032, + "id": 2076, + "nodeType": "Return", + "src": "15011:11:6" + } + ] + }, + "documentation": null, + "id": 2078, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seizeForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2029, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2022, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "14584:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2021, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14584:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2024, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "14599:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2023, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14599:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2026, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "14616:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2025, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14616:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2028, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "14633:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2027, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14633:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14583:67:6" + }, + "payable": false, + "returnParameters": { + "id": 2032, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2031, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "14667:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2030, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14667:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14666:6:6" + }, + "scope": 2318, + "src": "14562:464:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2120, + "nodeType": "Block", + "src": "15124:197:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2088, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15153:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15153:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2091, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6754, + "src": "15173:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + ], + "id": 2090, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15165:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15165:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2093, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2080, + "src": "15180: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": 2086, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 665, + "src": "15136:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "id": 2087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 6387, + "src": "15136: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": 2094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15136:52:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2085, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "15128:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15128:61:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2096, + "nodeType": "ExpressionStatement", + "src": "15128:61:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2097, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15193:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2100, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2098, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15204:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15204:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15193:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2101, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15193:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2108, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2080, + "src": "15257: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": 2102, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15224:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2105, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2103, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15235:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15235:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15224:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15224:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "15224: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": 2109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15224:41:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15193:72:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2111, + "nodeType": "ExpressionStatement", + "src": "15193:72:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2113, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15282:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15282:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2115, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2080, + "src": "15294:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2112, + "name": "Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 820, + "src": "15274:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15274:28:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2117, + "nodeType": "EmitStatement", + "src": "15269:33:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15313:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2084, + "id": 2119, + "nodeType": "Return", + "src": "15306:11:6" + } + ] + }, + "documentation": "Wallet methods: public", + "id": 2121, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2081, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2080, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2121, + "src": "15082:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2079, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15082:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15081:17:6" + }, + "payable": false, + "returnParameters": { + "id": 2084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2083, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2121, + "src": "15117:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2082, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15117:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15116:6:6" + }, + "scope": 2318, + "src": "15065:256:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2160, + "nodeType": "Block", + "src": "15383:179:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2128, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15387:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2131, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2129, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15398:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15398:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15387:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2132, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15387:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2139, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "15451: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": 2133, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15418:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2136, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2134, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15429:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15429:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15418:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2137, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15418:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "15418: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": 2140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15418:41:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15387:72:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2142, + "nodeType": "ExpressionStatement", + "src": "15387:72:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2146, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15484:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15484:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2148, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "15496:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2144, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 665, + "src": "15471:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "id": 2145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 6323, + "src": "15471:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15471:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2143, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "15463: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": "15463:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2151, + "nodeType": "ExpressionStatement", + "src": "15463:42:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2153, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15523:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15523:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2155, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "15535:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2152, + "name": "Withdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 826, + "src": "15514:8:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15514:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2157, + "nodeType": "EmitStatement", + "src": "15509:34:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15554:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2127, + "id": 2159, + "nodeType": "Return", + "src": "15547:11:6" + } + ] + }, + "documentation": null, + "id": 2161, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2124, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2123, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2161, + "src": "15341:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2122, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15341:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15340:17:6" + }, + "payable": false, + "returnParameters": { + "id": 2127, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2126, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2161, + "src": "15376:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2125, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15376:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15375:6:6" + }, + "scope": 2318, + "src": "15323:239:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2180, + "nodeType": "Block", + "src": "15655:68:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2170, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15667:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2172, + "indexExpression": { + "argumentTypes": null, + "id": 2171, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2163, + "src": "15678:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15667:18:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15667:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2174, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15693:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2176, + "indexExpression": { + "argumentTypes": null, + "id": 2175, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2163, + "src": "15704:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15693:18:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2177, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "15693:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2178, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15666:53:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 2169, + "id": 2179, + "nodeType": "Return", + "src": "15659:60:6" + } + ] + }, + "documentation": null, + "id": 2181, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2163, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 2181, + "src": "15586:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2162, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15586:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15585:16:6" + }, + "payable": false, + "returnParameters": { + "id": 2169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2166, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2181, + "src": "15623:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15623:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2168, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 2181, + "src": "15638:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15638:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15622:31:6" + }, + "scope": 2318, + "src": "15564:159:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2210, + "nodeType": "Block", + "src": "15837:116:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2190, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15841:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2192, + "indexExpression": { + "argumentTypes": null, + "id": 2191, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2183, + "src": "15852:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15841:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2193, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15841:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2199, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2185, + "src": "15895: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": 2194, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15867:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2196, + "indexExpression": { + "argumentTypes": null, + "id": 2195, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2183, + "src": "15878:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15867:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15867:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "15867: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": 2200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15867:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15841:62:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2202, + "nodeType": "ExpressionStatement", + "src": "15841:62:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2204, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2183, + "src": "15919:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2205, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2185, + "src": "15926:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2203, + "name": "Reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 832, + "src": "15912:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15912:22:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2207, + "nodeType": "EmitStatement", + "src": "15907:27:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15945:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2189, + "id": 2209, + "nodeType": "Return", + "src": "15938:11:6" + } + ] + }, + "documentation": "Wallet methods: Internal", + "id": 2211, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2183, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2211, + "src": "15780:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15780:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2185, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2211, + "src": "15795:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2184, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15795:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15779:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2188, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2211, + "src": "15830:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2187, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15830:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15829:6:6" + }, + "scope": 2318, + "src": "15764:189:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2240, + "nodeType": "Block", + "src": "16027:117:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2220, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16031:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2222, + "indexExpression": { + "argumentTypes": null, + "id": 2221, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2213, + "src": "16042:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16031:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2223, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "16031:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2229, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2215, + "src": "16087: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": 2224, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16058:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2226, + "indexExpression": { + "argumentTypes": null, + "id": 2225, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2213, + "src": "16069:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16058:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2227, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "16058:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "16058: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": 2230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16058:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16031:64:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2232, + "nodeType": "ExpressionStatement", + "src": "16031:64:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2234, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2213, + "src": "16110:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2235, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2215, + "src": "16117:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2233, + "name": "Seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "16104:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16104:21:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2237, + "nodeType": "EmitStatement", + "src": "16099:26:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16136:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2219, + "id": 2239, + "nodeType": "Return", + "src": "16129:11:6" + } + ] + }, + "documentation": null, + "id": 2241, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2213, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2241, + "src": "15970:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15970:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2215, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2241, + "src": "15985:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2214, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15985:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15969:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2218, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2241, + "src": "16020:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2217, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16020:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16019:6:6" + }, + "scope": 2318, + "src": "15955:189:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2278, + "nodeType": "Block", + "src": "16217:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2250, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16221:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2252, + "indexExpression": { + "argumentTypes": null, + "id": 2251, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "16232:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16221:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "16221:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2259, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "16276: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": 2254, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16248:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2256, + "indexExpression": { + "argumentTypes": null, + "id": 2255, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "16259:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16248:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2257, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "16248:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "16248: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": 2260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16248:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16221:63:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2262, + "nodeType": "ExpressionStatement", + "src": "16221:63:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2263, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16288:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2265, + "indexExpression": { + "argumentTypes": null, + "id": 2264, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "16299:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16288:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2266, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "16288:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2272, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "16344: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": 2267, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16315:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2269, + "indexExpression": { + "argumentTypes": null, + "id": 2268, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "16326:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16315:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2270, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "16315:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "16315: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": 2273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16315:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16288:64:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2275, + "nodeType": "ExpressionStatement", + "src": "16288:64:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16363:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2249, + "id": 2277, + "nodeType": "Return", + "src": "16356:11:6" + } + ] + }, + "documentation": null, + "id": 2279, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2243, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "16160:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2242, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16160:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2245, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "16175:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16175:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16159:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2249, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2248, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "16210:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2247, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16210:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16209:6:6" + }, + "scope": 2318, + "src": "16146:225:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2316, + "nodeType": "Block", + "src": "16446:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2288, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16450:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2290, + "indexExpression": { + "argumentTypes": null, + "id": 2289, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "16461:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16450:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "16450:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2297, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2283, + "src": "16506: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": 2292, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16477:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2294, + "indexExpression": { + "argumentTypes": null, + "id": 2293, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "16488:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16477:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "16477:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "16477: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": 2298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16477:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16450:64:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2300, + "nodeType": "ExpressionStatement", + "src": "16450:64:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2301, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16518:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2303, + "indexExpression": { + "argumentTypes": null, + "id": 2302, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "16529:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16518:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2304, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "16518:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2310, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2283, + "src": "16573: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": 2305, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16545:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2307, + "indexExpression": { + "argumentTypes": null, + "id": 2306, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "16556:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16545:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2308, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "16545:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "16545: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": 2311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16545:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16518:63:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2313, + "nodeType": "ExpressionStatement", + "src": "16518:63:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2314, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16592:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2287, + "id": 2315, + "nodeType": "Return", + "src": "16585:11:6" + } + ] + }, + "documentation": null, + "id": 2317, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2281, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2317, + "src": "16389:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16389:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2283, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2317, + "src": "16404:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2282, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16404:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16388:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2286, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2317, + "src": "16439:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2285, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16439:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16438:6:6" + }, + "scope": 2318, + "src": "16373:227:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 2319, + "src": "281:16321:6" + } + ], + "src": "0:16603:6" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHub.sol", + "exportedSymbols": { + "IexecHub": [ + 2318 + ] + }, + "id": 2319, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 652, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:6" + }, + { + "absolutePath": "rlc-token/contracts/RLC.sol", + "file": "rlc-token/contracts/RLC.sol", + "id": 653, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 6477, + "src": "26:37:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", + "file": "./WorkOrder.sol", + "id": 654, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 4071, + "src": "65:25:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", + "file": "./Marketplace.sol", + "id": 655, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 3289, + "src": "91:27:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", + "file": "./AppHub.sol", + "id": 656, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 194, + "src": "119:22:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", + "file": "./DatasetHub.sol", + "id": 657, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 388, + "src": "142:26:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", + "file": "./WorkerPoolHub.sol", + "id": 658, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 6041, + "src": "169:29:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 659, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 3686, + "src": "199:26:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 660, + "nodeType": "ImportDirective", + "scope": 2319, + "sourceUnit": 2810, + "src": "226:24:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [ + 4070 + ], + "contractKind": "contract", + "documentation": "@title IexecHub", + "fullyImplemented": true, + "id": 2318, + "linearizedBaseContracts": [ + 2318 + ], + "name": "IexecHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 663, + "libraryName": { + "contractScope": null, + "id": 661, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3685, + "src": "308:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3685", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "302:29:6", + "typeName": { + "id": 662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "323:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 665, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "380:18:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 664, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6476, + "src": "380:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 667, + "name": "tokenAddress", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "401:27:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 666, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "401:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 670, + "name": "STAKE_BONUS_RATIO", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "432:47:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "432:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 669, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "477:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 673, + "name": "STAKE_BONUS_MIN_THRESHOLD", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "482:56:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 671, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "482:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31303030", + "id": 672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "534:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 676, + "name": "SCORE_UNITARY_SLASH", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "542:48:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 674, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "542:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3530", + "id": 675, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "588:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 678, + "name": "appHub", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "625:27:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + }, + "typeName": { + "contractScope": null, + "id": 677, + "name": "AppHub", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 193, + "src": "625:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 680, + "name": "datasetHub", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "655:31:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + }, + "typeName": { + "contractScope": null, + "id": 679, + "name": "DatasetHub", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 387, + "src": "655:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 682, + "name": "workerPoolHub", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "689:34:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + }, + "typeName": { + "contractScope": null, + "id": 681, + "name": "WorkerPoolHub", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6040, + "src": "689:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 684, + "name": "marketplace", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "754:23:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + }, + "typeName": { + "contractScope": null, + "id": 683, + "name": "Marketplace", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3288, + "src": "754:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 686, + "name": "marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "780:37:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 685, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "780:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 696, + "nodeType": "Block", + "src": "848:54:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 689, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "860:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "860:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 691, + "name": "marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "874:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "860:32:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 688, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "852:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "852:41:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 694, + "nodeType": "ExpressionStatement", + "src": "852:41:6" + }, + { + "id": 695, + "nodeType": "PlaceholderStatement", + "src": "897:1:6" + } + ] + }, + "documentation": null, + "id": 697, + "name": "onlyMarketplace", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 687, + "nodeType": "ParameterList", + "parameters": [], + "src": "844:2:6" + }, + "src": "820:82:6", + "visibility": "internal" + }, + { + "constant": false, + "id": 701, + "name": "m_categories", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "929:57:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + }, + "typeName": { + "id": 700, + "keyType": { + "id": 698, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "937:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "929:37:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 699, + "name": "IexecLib.Category", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2808, + "src": "948:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 703, + "name": "m_categoriesCount", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "989:62:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 702, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "989:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 705, + "name": "m_categoriesCreator", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "1054:64:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 704, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1054:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 715, + "nodeType": "Block", + "src": "1155:55:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 708, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1167:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1167:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 710, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "1181:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1167:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 707, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1159:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1159:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 713, + "nodeType": "ExpressionStatement", + "src": "1159:42:6" + }, + { + "id": 714, + "nodeType": "PlaceholderStatement", + "src": "1205:1:6" + } + ] + }, + "documentation": null, + "id": 716, + "name": "onlyCategoriesCreator", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 706, + "nodeType": "ParameterList", + "parameters": [], + "src": "1151:2:6" + }, + "src": "1121:89:6", + "visibility": "internal" + }, + { + "constant": false, + "id": 720, + "name": "m_accounts", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "1234:54:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + }, + "typeName": { + "id": 719, + "keyType": { + "id": 717, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1242:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1234:36:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 718, + "name": "IexecLib.Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2794, + "src": "1253:16:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage_ptr", + "typeString": "struct IexecLib.Account storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 724, + "name": "m_scores", + "nodeType": "VariableDeclaration", + "scope": 2318, + "src": "1326:44:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 723, + "keyType": { + "id": 721, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1334:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1326:27:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1345:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 730, + "name": "WorkOrderActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 729, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 726, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 730, + "src": "1400:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 725, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1400:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 728, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 730, + "src": "1414:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 727, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1414:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1399:42:6" + }, + "src": "1375:67:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 736, + "name": "WorkOrderClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 735, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 732, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 736, + "src": "1469:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 731, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1469:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 734, + "indexed": false, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 736, + "src": "1483:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 733, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1483:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1468:34:6" + }, + "src": "1444:59:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 742, + "name": "WorkOrderCompleted", + "nodeType": "EventDefinition", + "parameters": { + "id": 741, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 738, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 742, + "src": "1530:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 737, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1530:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 740, + "indexed": false, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 742, + "src": "1544:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 739, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1544:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1529:34:6" + }, + "src": "1505:59:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 754, + "name": "CreateApp", + "nodeType": "EventDefinition", + "parameters": { + "id": 753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 744, + "indexed": true, + "name": "appOwner", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1590:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 743, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1590:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 746, + "indexed": true, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1623:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 745, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1623:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 748, + "indexed": false, + "name": "appName", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1651:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 747, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1651:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 750, + "indexed": false, + "name": "appPrice", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1671:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 749, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1671:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 752, + "indexed": false, + "name": "appParams", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1693:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 751, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1693:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1589:125:6" + }, + "src": "1567:148:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 766, + "name": "CreateDataset", + "nodeType": "EventDefinition", + "parameters": { + "id": 765, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 756, + "indexed": true, + "name": "datasetOwner", + "nodeType": "VariableDeclaration", + "scope": 766, + "src": "1740:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 755, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1740:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 758, + "indexed": true, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 766, + "src": "1773:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1773:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 760, + "indexed": false, + "name": "datasetName", + "nodeType": "VariableDeclaration", + "scope": 766, + "src": "1801:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 759, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1801:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 762, + "indexed": false, + "name": "datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 766, + "src": "1821:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 761, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1821:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 764, + "indexed": false, + "name": "datasetParams", + "nodeType": "VariableDeclaration", + "scope": 766, + "src": "1843:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 763, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1843:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1739:125:6" + }, + "src": "1717:148:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 774, + "name": "CreateWorkerPool", + "nodeType": "EventDefinition", + "parameters": { + "id": 773, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 768, + "indexed": true, + "name": "workerPoolOwner", + "nodeType": "VariableDeclaration", + "scope": 774, + "src": "1890:31:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 767, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1890:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 770, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 774, + "src": "1923:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1923:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 772, + "indexed": false, + "name": "workerPoolDescription", + "nodeType": "VariableDeclaration", + "scope": 774, + "src": "1951:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 771, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1951:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1889:131:6" + }, + "src": "1867:154:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 784, + "name": "CreateCategory", + "nodeType": "EventDefinition", + "parameters": { + "id": 783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 776, + "indexed": false, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 784, + "src": "2047:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 775, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2047:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 778, + "indexed": false, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 784, + "src": "2062:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 777, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2062:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 780, + "indexed": false, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 784, + "src": "2075:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 779, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2075:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 782, + "indexed": false, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 784, + "src": "2095:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 781, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2095:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2046:74:6" + }, + "src": "2024:97:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 790, + "name": "WorkerPoolSubscription", + "nodeType": "EventDefinition", + "parameters": { + "id": 789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 786, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 790, + "src": "2155:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 785, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2155:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 788, + "indexed": false, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 790, + "src": "2183:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 787, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2183:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2154:44:6" + }, + "src": "2124:75:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 796, + "name": "WorkerPoolUnsubscription", + "nodeType": "EventDefinition", + "parameters": { + "id": 795, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 792, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 796, + "src": "2232:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 791, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2232:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 794, + "indexed": false, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 796, + "src": "2260:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 793, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2260:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2231:44:6" + }, + "src": "2201:75:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 802, + "name": "WorkerPoolEviction", + "nodeType": "EventDefinition", + "parameters": { + "id": 801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 798, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 802, + "src": "2309:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 797, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2309:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 800, + "indexed": false, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 802, + "src": "2337:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 799, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2337:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2308:44:6" + }, + "src": "2278:75:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 808, + "name": "AccurateContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 804, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 808, + "src": "2383:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 803, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2383:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 806, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 808, + "src": "2397:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 805, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2397:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2382:38:6" + }, + "src": "2356:65:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 814, + "name": "FaultyContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 810, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 814, + "src": "2450:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 809, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2450:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 812, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 814, + "src": "2464:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 811, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2464:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2449:38:6" + }, + "src": "2423:65:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 820, + "name": "Deposit", + "nodeType": "EventDefinition", + "parameters": { + "id": 819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 816, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "2506:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2506:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 818, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "2521:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2521:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2505:31:6" + }, + "src": "2491:46:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 826, + "name": "Withdraw", + "nodeType": "EventDefinition", + "parameters": { + "id": 825, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 822, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 826, + "src": "2554:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 821, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2554:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 824, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 826, + "src": "2569:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 823, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2569:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2553:31:6" + }, + "src": "2539:46:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 832, + "name": "Reward", + "nodeType": "EventDefinition", + "parameters": { + "id": 831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 828, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "2602:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 827, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2602:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 830, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "2617:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 829, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2617:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2601:31:6" + }, + "src": "2587:46:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 838, + "name": "Seize", + "nodeType": "EventDefinition", + "parameters": { + "id": 837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 834, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 838, + "src": "2650:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 833, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2650:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 836, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 838, + "src": "2665:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2665:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2649:31:6" + }, + "src": "2635:46:6" + }, + { + "body": { + "id": 841, + "nodeType": "Block", + "src": "2741:5:6", + "statements": [] + }, + "documentation": "Constructor", + "id": 842, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "IexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 839, + "nodeType": "ParameterList", + "parameters": [], + "src": "2727:4:6" + }, + "payable": false, + "returnParameters": { + "id": 840, + "nodeType": "ParameterList", + "parameters": [], + "src": "2741:0:6" + }, + "scope": 2318, + "src": "2710:36:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 901, + "nodeType": "Block", + "src": "2917:410:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 856, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "2929:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2953: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": 857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2945:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2945:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2929:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 855, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2921:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2921:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 862, + "nodeType": "ExpressionStatement", + "src": "2921:35:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 863, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "2960:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 864, + "name": "_tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 844, + "src": "2981:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2960:34:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 866, + "nodeType": "ExpressionStatement", + "src": "2960:34:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 867, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 665, + "src": "2998:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 869, + "name": "_tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 844, + "src": "3023:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 868, + "name": "RLC", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6476, + "src": "3019:3:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_RLC_$6476_$", + "typeString": "type(contract RLC)" + } + }, + "id": 870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3019:18:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "src": "2998:39:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "id": 872, + "nodeType": "ExpressionStatement", + "src": "2998:39:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 873, + "name": "marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "3042:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 874, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 846, + "src": "3063:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3042:40:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 876, + "nodeType": "ExpressionStatement", + "src": "3042:40:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 877, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "3086:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 879, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 846, + "src": "3119:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 878, + "name": "Marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3288, + "src": "3107:11:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Marketplace_$3288_$", + "typeString": "type(contract Marketplace)" + } + }, + "id": 880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3107:32:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "src": "3086:53:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 882, + "nodeType": "ExpressionStatement", + "src": "3086:53:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 883, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "3144:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 885, + "name": "_workerPoolHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 848, + "src": "3179:21:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 884, + "name": "WorkerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6040, + "src": "3165:13:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPoolHub_$6040_$", + "typeString": "type(contract WorkerPoolHub)" + } + }, + "id": 886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3165:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "src": "3144:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 888, + "nodeType": "ExpressionStatement", + "src": "3144:57:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 889, + "name": "appHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 678, + "src": "3205:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 891, + "name": "_appHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 850, + "src": "3240:14:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 890, + "name": "AppHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 193, + "src": "3226:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AppHub_$193_$", + "typeString": "type(contract AppHub)" + } + }, + "id": 892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3226:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + } + }, + "src": "3205:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + } + }, + "id": 894, + "nodeType": "ExpressionStatement", + "src": "3205:57:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 895, + "name": "datasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 680, + "src": "3266:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 897, + "name": "_datasetHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 852, + "src": "3301:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 896, + "name": "DatasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "3287:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DatasetHub_$387_$", + "typeString": "type(contract DatasetHub)" + } + }, + "id": 898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3287:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + } + }, + "src": "3266:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + } + }, + "id": 900, + "nodeType": "ExpressionStatement", + "src": "3266:57:6" + } + ] + }, + "documentation": null, + "id": 902, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "attachContracts", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 844, + "name": "_tokenAddress", + "nodeType": "VariableDeclaration", + "scope": 902, + "src": "2775:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 843, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2775:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 846, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 902, + "src": "2797:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 845, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2797:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 848, + "name": "_workerPoolHubAddress", + "nodeType": "VariableDeclaration", + "scope": 902, + "src": "2826:29:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2826:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 850, + "name": "_appHubAddress", + "nodeType": "VariableDeclaration", + "scope": 902, + "src": "2857:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 849, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2857:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 852, + "name": "_datasetHubAddress", + "nodeType": "VariableDeclaration", + "scope": 902, + "src": "2881:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 851, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2881:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2774:134:6" + }, + "payable": false, + "returnParameters": { + "id": 854, + "nodeType": "ParameterList", + "parameters": [], + "src": "2917:0:6" + }, + "scope": 2318, + "src": "2750:577:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 931, + "nodeType": "Block", + "src": "3396:170:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 908, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "3408:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3439: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": 909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3431:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3431:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3408:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 913, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "3446:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3477: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": 914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3469:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3469:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3446:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 918, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "3483:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3483:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 920, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "3497:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3483:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3446:70:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 923, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3445:72:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3408:109:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 907, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "3400:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3400:118:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 926, + "nodeType": "ExpressionStatement", + "src": "3400:118:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 927, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "3522:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 928, + "name": "_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 904, + "src": "3544:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3522:40:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 930, + "nodeType": "ExpressionStatement", + "src": "3522:40:6" + } + ] + }, + "documentation": null, + "id": 932, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setCategoriesCreator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 904, + "name": "_categoriesCreator", + "nodeType": "VariableDeclaration", + "scope": 932, + "src": "3360:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 903, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3360:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3359:28:6" + }, + "payable": false, + "returnParameters": { + "id": 906, + "nodeType": "ParameterList", + "parameters": [], + "src": "3396:0:6" + }, + "scope": 2318, + "src": "3330:236:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 993, + "nodeType": "Block", + "src": "3742:466:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 945, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "3746:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3805: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": 946, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "3783:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "3783: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": 949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3783:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3746:61:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 951, + "nodeType": "ExpressionStatement", + "src": "3746:61:6" + }, + { + "assignments": [ + 955 + ], + "declarations": [ + { + "constant": false, + "id": 955, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 994, + "src": "3811:34:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 954, + "name": "IexecLib.Category", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2808, + "src": "3811:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 959, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 956, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "3848:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 958, + "indexExpression": { + "argumentTypes": null, + "id": 957, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "3861:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3848:31:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3811:68:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 960, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 955, + "src": "3883:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 962, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "catid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2801, + "src": "3883:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 963, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "3920:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3883:54:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 965, + "nodeType": "ExpressionStatement", + "src": "3883:54:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 966, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 955, + "src": "3941:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 968, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 2803, + "src": "3941:13:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 969, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "3978:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3941:42:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 971, + "nodeType": "ExpressionStatement", + "src": "3941:42:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 972, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 955, + "src": "3987:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 974, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "description", + "nodeType": "MemberAccess", + "referencedDeclaration": 2805, + "src": "3987:20:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 975, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "4024:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3987:49:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 977, + "nodeType": "ExpressionStatement", + "src": "3987:49:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 978, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 955, + "src": "4040:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 980, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2807, + "src": "4040:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 981, + "name": "_workClockTimeRef", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 938, + "src": "4077:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4040:54:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 983, + "nodeType": "ExpressionStatement", + "src": "4040:54:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 985, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "4118:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 986, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "4137:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 987, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "4144:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 988, + "name": "_workClockTimeRef", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 938, + "src": "4158: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": 984, + "name": "CreateCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "4103: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": 989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4103:73:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 990, + "nodeType": "EmitStatement", + "src": "4098:78:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 991, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "4187:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 944, + "id": 992, + "nodeType": "Return", + "src": "4180:24:6" + } + ] + }, + "documentation": "Factory", + "id": 994, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 941, + "modifierName": { + "argumentTypes": null, + "id": 940, + "name": "onlyCategoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 716, + "src": "3695:21:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3695:21:6" + } + ], + "name": "createCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 939, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 934, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 994, + "src": "3619:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 933, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3619:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 936, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 994, + "src": "3636:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 935, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3636:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 938, + "name": "_workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 994, + "src": "3660:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 937, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3660:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3615:71:6" + }, + "payable": false, + "returnParameters": { + "id": 944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 943, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 994, + "src": "3726:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3726:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3725:15:6" + }, + "scope": 2318, + "src": "3592:616:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1027, + "nodeType": "Block", + "src": "4435:300:6", + "statements": [ + { + "assignments": [ + 1008 + ], + "declarations": [ + { + "constant": false, + "id": 1008, + "name": "newWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "4439:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1007, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4439:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1017, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1011, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 996, + "src": "4498:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1012, + "name": "_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 998, + "src": "4515:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1013, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1000, + "src": "4548:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1014, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1002, + "src": "4584:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1015, + "name": "marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "4620:18: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": 1009, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "4463:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "createWorkerPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 5979, + "src": "4463: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": 1016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4463:179:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4439:203:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1019, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "4668:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4668:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1021, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1008, + "src": "4679:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1022, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 996, + "src": "4694: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": 1018, + "name": "CreateWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 774, + "src": "4651:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,string memory)" + } + }, + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4651:56:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1024, + "nodeType": "EmitStatement", + "src": "4646:61:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1025, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1008, + "src": "4718:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1006, + "id": 1026, + "nodeType": "Return", + "src": "4711:20:6" + } + ] + }, + "documentation": null, + "id": 1028, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1003, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 996, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "4240:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 995, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4240:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 998, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "4264:36:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 997, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4264:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1000, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "4304:39:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4304:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1002, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "4347:39:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1001, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4347:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4236:151:6" + }, + "payable": false, + "returnParameters": { + "id": 1006, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1005, + "name": "createdWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "4407:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1004, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4407:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4406:27:6" + }, + "scope": 2318, + "src": "4211:524:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1059, + "nodeType": "Block", + "src": "4861:174:6", + "statements": [ + { + "assignments": [ + 1040 + ], + "declarations": [ + { + "constant": false, + "id": 1040, + "name": "newApp", + "nodeType": "VariableDeclaration", + "scope": 1060, + "src": "4865:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4865:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1047, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1043, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1030, + "src": "4903:8:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1044, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "4916:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1045, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1034, + "src": "4930: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": 1041, + "name": "appHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 678, + "src": "4882:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + } + }, + "id": 1042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "createApp", + "nodeType": "MemberAccess", + "referencedDeclaration": 192, + "src": "4882: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": 1046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4882:62:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4865:79:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1049, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "4963:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4963:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1051, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "4974:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1052, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1030, + "src": "4982:8:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1053, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "4992:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1054, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1034, + "src": "5003: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": 1048, + "name": "CreateApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "4953: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": 1055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4953:61:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1056, + "nodeType": "EmitStatement", + "src": "4948:66:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1057, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "5025:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1038, + "id": 1058, + "nodeType": "Return", + "src": "5018:13:6" + } + ] + }, + "documentation": null, + "id": 1060, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1035, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1030, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 1060, + "src": "4760:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1029, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4760:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1032, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 1060, + "src": "4780:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1031, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4780:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1034, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 1060, + "src": "4801:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1033, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4801:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4756:64:6" + }, + "payable": false, + "returnParameters": { + "id": 1038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1037, + "name": "createdApp", + "nodeType": "VariableDeclaration", + "scope": 1060, + "src": "4840:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1036, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4840:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4839:20:6" + }, + "scope": 2318, + "src": "4738:297:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1091, + "nodeType": "Block", + "src": "5181:223:6", + "statements": [ + { + "assignments": [ + 1072 + ], + "declarations": [ + { + "constant": false, + "id": 1072, + "name": "newDataset", + "nodeType": "VariableDeclaration", + "scope": 1092, + "src": "5185:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1071, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5185:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1079, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1075, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1062, + "src": "5235:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1076, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1064, + "src": "5252:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1077, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "5270: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": 1073, + "name": "datasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 680, + "src": "5206:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + } + }, + "id": 1074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "createDataset", + "nodeType": "MemberAccess", + "referencedDeclaration": 386, + "src": "5206: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": 1078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5206:83:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5185:104:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1081, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "5312:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5312:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1083, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "5323:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1084, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1062, + "src": "5335:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1085, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1064, + "src": "5349:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1086, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "5364: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": 1080, + "name": "CreateDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 766, + "src": "5298: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": 1087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5298:81:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1088, + "nodeType": "EmitStatement", + "src": "5293:86:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1089, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "5390:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1070, + "id": 1090, + "nodeType": "Return", + "src": "5383:17:6" + } + ] + }, + "documentation": null, + "id": 1092, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1062, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 1092, + "src": "5064:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1061, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5064:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1064, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 1092, + "src": "5088:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1063, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5088:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1066, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 1092, + "src": "5113:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1065, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5113:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5060:76:6" + }, + "payable": false, + "returnParameters": { + "id": 1070, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1069, + "name": "createdDataset", + "nodeType": "VariableDeclaration", + "scope": 1092, + "src": "5156:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1068, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5156:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5155:24:6" + }, + "scope": 2318, + "src": "5038:366:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1166, + "nodeType": "Block", + "src": "5645:529:6", + "statements": [ + { + "assignments": [ + 1112 + ], + "declarations": [ + { + "constant": false, + "id": 1112, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5649:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1111, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5649:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1115, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1113, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5669:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5669:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5649:30:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1119, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1094, + "src": "5725:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1120, + "name": "requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1112, + "src": "5742:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1121, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1096, + "src": "5753: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": 1117, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "5691:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "consumeMarketOrderAsk", + "nodeType": "MemberAccess", + "referencedDeclaration": 3142, + "src": "5691: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": 1122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5691:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1116, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "5683:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5683:83:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1124, + "nodeType": "ExpressionStatement", + "src": "5683:83:6" + }, + { + "assignments": [ + 1126 + ], + "declarations": [ + { + "constant": false, + "id": 1126, + "name": "emitcost", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5771:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1125, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5771:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1133, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1128, + "name": "requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1112, + "src": "5808:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1129, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1096, + "src": "5819:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1130, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1098, + "src": "5832:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1131, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "5838: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": 1127, + "name": "lockWorkOrderCost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "5790: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": 1132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5790:57:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5771:76:6" + }, + { + "assignments": [ + 1135 + ], + "declarations": [ + { + "constant": false, + "id": 1135, + "name": "workorder", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5852:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + }, + "typeName": { + "contractScope": null, + "id": 1134, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4070, + "src": "5852:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1148, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1138, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1094, + "src": "5892:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1139, + "name": "requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1112, + "src": "5912:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1140, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1098, + "src": "5926:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1141, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "5935:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1142, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1096, + "src": "5948:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1143, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1126, + "src": "5964:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1144, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1102, + "src": "5977:7:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1145, + "name": "_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "5989:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1146, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1106, + "src": "6003: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": 1137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5874: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_$4070_$", + "typeString": "function (uint256,address,address,address,address,uint256,string memory,address,address) returns (contract WorkOrder)" + }, + "typeName": { + "contractScope": null, + "id": 1136, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4070, + "src": "5878:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + } + }, + "id": 1147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5874:145:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5852:167:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1154, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "6070:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + { + "argumentTypes": null, + "id": 1155, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1094, + "src": "6081:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1151, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1096, + "src": "6043:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1150, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5819, + "src": "6032:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$5819_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:23:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 1153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "emitWorkOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 4748, + "src": "6032:37:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:65:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1149, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "6024:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6024:74:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1158, + "nodeType": "ExpressionStatement", + "src": "6024:74:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1160, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "6127:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + { + "argumentTypes": null, + "id": 1161, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1096, + "src": "6138:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1159, + "name": "WorkOrderActivated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 730, + "src": "6108:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6108:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1163, + "nodeType": "EmitStatement", + "src": "6103:47:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1164, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "6161:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "functionReturnParameters": 1110, + "id": 1165, + "nodeType": "Return", + "src": "6154:16:6" + } + ] + }, + "documentation": "WorkOrder Emission", + "id": 1167, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyForWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1094, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5468:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5468:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1096, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5495:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1095, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5495:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1098, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5518:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1097, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5518:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1100, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5534:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1099, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5534:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1102, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5554:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1101, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5554:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1104, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5573:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1103, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5573:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1106, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5594:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5594:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5464:151:6" + }, + "payable": false, + "returnParameters": { + "id": 1110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1109, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5635:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5635:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5634:9:6" + }, + "scope": 2318, + "src": "5440:734:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1244, + "nodeType": "Block", + "src": "6415:620:6", + "statements": [ + { + "assignments": [ + 1181 + ], + "declarations": [ + { + "constant": false, + "id": 1181, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6428:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + }, + "typeName": { + "contractScope": null, + "id": 1180, + "name": "App", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "6428:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1185, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1183, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1173, + "src": "6442:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1182, + "name": "App", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "6438:3:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_App_$54_$", + "typeString": "type(contract App)" + } + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6438:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6428:19:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1189, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1173, + "src": "6483:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1187, + "name": "appHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 678, + "src": "6459:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$193", + "typeString": "contract AppHub" + } + }, + "id": 1188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isAppRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 94, + "src": "6459:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6459:36:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1186, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "6451:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6451:45:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1192, + "nodeType": "ExpressionStatement", + "src": "6451:45:6" + }, + { + "assignments": [ + 1194 + ], + "declarations": [ + { + "constant": false, + "id": 1194, + "name": "emitcost", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6541:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6541:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1198, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1195, + "name": "app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1181, + "src": "6560:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "id": 1196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_appPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 11, + "src": "6560:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6560:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6541:35:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1199, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1175, + "src": "6598:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6618: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": 1200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6610:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6610:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6598:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1227, + "nodeType": "IfStatement", + "src": "6594:259:6", + "trueBody": { + "id": 1226, + "nodeType": "Block", + "src": "6653:200:6", + "statements": [ + { + "assignments": [ + 1205 + ], + "declarations": [ + { + "constant": false, + "id": 1205, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6658:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + }, + "typeName": { + "contractScope": null, + "id": 1204, + "name": "Dataset", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 248, + "src": "6658:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1209, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1207, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1175, + "src": "6684:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1206, + "name": "Dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 248, + "src": "6676:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Dataset_$248_$", + "typeString": "type(contract Dataset)" + } + }, + "id": 1208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6676:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6658:35:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1213, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1175, + "src": "6736:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1211, + "name": "datasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 680, + "src": "6706:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$387", + "typeString": "contract DatasetHub" + } + }, + "id": 1212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isDatasetRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 288, + "src": "6706:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6706:42:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1210, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "6698:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6698:51:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1216, + "nodeType": "ExpressionStatement", + "src": "6698:51:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1217, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "6799:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1220, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1205, + "src": "6823:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "id": 1221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_datasetPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 205, + "src": "6823:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6823:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1218, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "6810:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "6810: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": 1223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6810:38:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6799:49:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1225, + "nodeType": "ExpressionStatement", + "src": "6799:49:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1231, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "6918:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1229, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "6881:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWorkerPoolRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 5863, + "src": "6881:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6881:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1228, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "6873:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6873:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1234, + "nodeType": "ExpressionStatement", + "src": "6873:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1237, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1169, + "src": "6949:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1238, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "6961:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1236, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2279, + "src": "6944:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6944:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1235, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "6936:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6936:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1241, + "nodeType": "ExpressionStatement", + "src": "6936:35:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1242, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "7023:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1179, + "id": 1243, + "nodeType": "Return", + "src": "7016:15:6" + } + ] + }, + "documentation": null, + "id": 1245, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockWorkOrderCost", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1169, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6207:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1168, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6207:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1171, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6229:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1170, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6229:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1173, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6282:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6282:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1175, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6335:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1174, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6335:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6203:149:6" + }, + "payable": false, + "returnParameters": { + "id": 1179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1178, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "6405:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1177, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6405:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6404:9:6" + }, + "scope": 2318, + "src": "6177:858:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1380, + "nodeType": "Block", + "src": "7142:1289:6", + "statements": [ + { + "assignments": [ + 1253 + ], + "declarations": [ + { + "constant": false, + "id": 1253, + "name": "workorder", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7146:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + }, + "typeName": { + "contractScope": null, + "id": 1252, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4070, + "src": "7146:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1257, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1255, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "7180:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1254, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "7170:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7170:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7146:40:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1259, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7198:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 3812, + "src": "7198:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7198:23:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1262, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "7225:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7225:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7198:37:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1258, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "7190:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7190:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1266, + "nodeType": "ExpressionStatement", + "src": "7190:46:6" + }, + { + "assignments": [ + 1268 + ], + "declarations": [ + { + "constant": false, + "id": 1268, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7240:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + }, + "typeName": { + "contractScope": null, + "id": 1267, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5819, + "src": "7240:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1274, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1270, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7275:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "7275:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7275:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1269, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5819, + "src": "7264:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$5819_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7264:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7240:60:6" + }, + { + "assignments": [ + 1278 + ], + "declarations": [ + { + "constant": false, + "id": 1278, + "name": "currentStatus", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7305:42:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 1277, + "name": "IexecLib.WorkOrderStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2750, + "src": "7305:28:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1282, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1279, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7350:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 3802, + "src": "7350:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7350:20:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7305:65:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 1288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1284, + "name": "currentStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1278, + "src": "7382:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1285, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "7399:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 1286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "7399:28:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7399:35:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "7382:52:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 1293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1289, + "name": "currentStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1278, + "src": "7438:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1290, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "7455:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 1291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "7455:28:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7455:38:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "7438:55:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7382:111:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1283, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "7374:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7374:120:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1296, + "nodeType": "ExpressionStatement", + "src": "7374:120:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1300, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "7573:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1298, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1268, + "src": "7541:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 1299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "claimFailedConsensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 4828, + "src": "7541:31:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 1301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7541:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1297, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "7533:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7533:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1303, + "nodeType": "ExpressionStatement", + "src": "7533:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1304, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7584:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "claim", + "nodeType": "MemberAccess", + "referencedDeclaration": 4009, + "src": "7584:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 1307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7584:17:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1308, + "nodeType": "ExpressionStatement", + "src": "7584:17:6" + }, + { + "assignments": [ + 1310 + ], + "declarations": [ + { + "constant": false, + "id": 1310, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7625:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1309, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7625:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1317, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1313, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7683:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 3804, + "src": "7683:26: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": "7683:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1311, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "7651:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderValue", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "7651:31:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 1316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7651:61:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7625:87:6" + }, + { + "assignments": [ + 1319 + ], + "declarations": [ + { + "constant": false, + "id": 1319, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7739:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1318, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7739:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1326, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1322, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7807:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 3804, + "src": "7807:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7807:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1320, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "7765:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderWorkerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3195, + "src": "7765:41:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 1325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7765:71:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7739:97:6" + }, + { + "assignments": [ + 1328 + ], + "declarations": [ + { + "constant": false, + "id": 1328, + "name": "workerpoolStake", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7863:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1327, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7863:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1335, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1331, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "7906:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ASK_STAKE_RATIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 2829, + "src": "7906:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7906:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1329, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1310, + "src": "7889:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "7889: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": 1334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7889:47:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7863:73:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1338, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7957:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 3812, + "src": "7957:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7957:23:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1343, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7992:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_emitcost", + "nodeType": "MemberAccess", + "referencedDeclaration": 3814, + "src": "7992:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7992:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1341, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1310, + "src": "7982:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "7982: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": 1346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7982:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1337, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2317, + "src": "7949:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7949:67:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1336, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "7941:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7941:76:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1349, + "nodeType": "ExpressionStatement", + "src": "7941:76:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1352, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "8075:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1353, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "8100:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1351, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "8067:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8067:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1350, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8059:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8059:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1356, + "nodeType": "ExpressionStatement", + "src": "8059:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1359, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6754, + "src": "8248:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + }, + { + "argumentTypes": null, + "id": 1360, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "8273:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1358, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2211, + "src": "8240:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8240:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1357, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8232:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8232:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1363, + "nodeType": "ExpressionStatement", + "src": "8232:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1366, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6754, + "src": "8310:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + }, + { + "argumentTypes": null, + "id": 1367, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "8335:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1365, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2279, + "src": "8302:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8302:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1364, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8294:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8294:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1370, + "nodeType": "ExpressionStatement", + "src": "8294:58:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1372, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "8380:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1373, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "8387:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "8387:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8387:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1371, + "name": "WorkOrderClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 736, + "src": "8363:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8363:49:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1377, + "nodeType": "EmitStatement", + "src": "8358:54:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8423:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1251, + "id": 1379, + "nodeType": "Return", + "src": "8416:11:6" + } + ] + }, + "documentation": "WorkOrder life cycle", + "id": 1381, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claimFailedConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1248, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1247, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7104:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1246, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7104:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7103:15:6" + }, + "payable": false, + "returnParameters": { + "id": 1251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1250, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1381, + "src": "7135:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1249, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7135:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7134:6:6" + }, + "scope": 2318, + "src": "7074:1357:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1589, + "nodeType": "Block", + "src": "8557:1983:6", + "statements": [ + { + "assignments": [ + 1395 + ], + "declarations": [ + { + "constant": false, + "id": 1395, + "name": "workorder", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8561:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + }, + "typeName": { + "contractScope": null, + "id": 1394, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4070, + "src": "8561:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1399, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1397, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1383, + "src": "8593:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1396, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "8583:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8583:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8561:38:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1401, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "8612:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "8612:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8612:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1404, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "8640:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8640:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8612:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1400, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8604:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8604:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1408, + "nodeType": "ExpressionStatement", + "src": "8604:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 1416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1410, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "8663:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 3802, + "src": "8663:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8663:20:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1413, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "8691:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 1414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "8691:28:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8691:38:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "8663:66:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1409, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8655:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8655:75:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1418, + "nodeType": "ExpressionStatement", + "src": "8655:75:6" + }, + { + "assignments": [ + 1420 + ], + "declarations": [ + { + "constant": false, + "id": 1420, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8744:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + }, + "typeName": { + "contractScope": null, + "id": 1419, + "name": "App", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "8744:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1426, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1422, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "8767:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_app", + "nodeType": "MemberAccess", + "referencedDeclaration": 3806, + "src": "8767:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8767:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1421, + "name": "App", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "8763:3:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_App_$54_$", + "typeString": "type(contract App)" + } + }, + "id": 1425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8763:22:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8744:41:6" + }, + { + "assignments": [ + 1428 + ], + "declarations": [ + { + "constant": false, + "id": 1428, + "name": "appPrice", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8789:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1427, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8789:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1432, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1429, + "name": "app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "8808:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "id": 1430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_appPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 11, + "src": "8808:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8808:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8789:35:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1433, + "name": "appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "8832:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8843:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8832:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1446, + "nodeType": "IfStatement", + "src": "8828:70:6", + "trueBody": { + "id": 1445, + "nodeType": "Block", + "src": "8848:50:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1438, + "name": "app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "8868:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "id": 1439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3456, + "src": "8868:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8868:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1441, + "name": "appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "8883:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1437, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2211, + "src": "8861: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": "8861:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1436, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8853: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": "8853:40:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1444, + "nodeType": "ExpressionStatement", + "src": "8853:40:6" + } + ] + } + }, + { + "assignments": [ + 1448 + ], + "declarations": [ + { + "constant": false, + "id": 1448, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8915:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + }, + "typeName": { + "contractScope": null, + "id": 1447, + "name": "Dataset", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 248, + "src": "8915:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1454, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1450, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "8941:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_dataset", + "nodeType": "MemberAccess", + "referencedDeclaration": 3808, + "src": "8941:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8941:21:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1449, + "name": "Dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 248, + "src": "8933:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Dataset_$248_$", + "typeString": "type(contract Dataset)" + } + }, + "id": 1453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8933:30:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8915:48:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1455, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "8971:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8990: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": 1456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8982:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8982:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8971:21:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1481, + "nodeType": "IfStatement", + "src": "8967:175:6", + "trueBody": { + "id": 1480, + "nodeType": "Block", + "src": "8996:146:6", + "statements": [ + { + "assignments": [ + 1461 + ], + "declarations": [ + { + "constant": false, + "id": 1461, + "name": "datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "9001:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1460, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9001:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1465, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1462, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "9024:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_datasetPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 205, + "src": "9024:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9024:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9001:47:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1466, + "name": "datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1461, + "src": "9057:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9072:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9057:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1479, + "nodeType": "IfStatement", + "src": "9053:85:6", + "trueBody": { + "id": 1478, + "nodeType": "Block", + "src": "9078:60:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1471, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "9099:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$248", + "typeString": "contract Dataset" + } + }, + "id": 1472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3456, + "src": "9099:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9099:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1474, + "name": "datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1461, + "src": "9118:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1470, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2211, + "src": "9092:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9092:39:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1469, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9084:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9084:48:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1477, + "nodeType": "ExpressionStatement", + "src": "9084:48:6" + } + ] + } + } + ] + } + }, + { + "assignments": [ + 1483 + ], + "declarations": [ + { + "constant": false, + "id": 1483, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "9361:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9361:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1490, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1486, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "9419:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 3804, + "src": "9419:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9419:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1484, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "9387:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderValue", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "9387:31:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 1489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9387:61:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9361:87:6" + }, + { + "assignments": [ + 1492 + ], + "declarations": [ + { + "constant": false, + "id": 1492, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "9475:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1491, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9475:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1499, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1495, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "9543:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 3804, + "src": "9543:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9543:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1493, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "9501:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderWorkerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3195, + "src": "9501:41:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 1498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9501:71:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9475:97:6" + }, + { + "assignments": [ + 1501 + ], + "declarations": [ + { + "constant": false, + "id": 1501, + "name": "workerpoolStake", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "9599:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9599:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1508, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1504, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "9642:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3288", + "typeString": "contract Marketplace" + } + }, + "id": 1505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ASK_STAKE_RATIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 2829, + "src": "9642:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9642:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1502, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "9625:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "9625: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": 1507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9625:47:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9599:73:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1511, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "9692:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 3812, + "src": "9692:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9692:23:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1516, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "9727:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_emitcost", + "nodeType": "MemberAccess", + "referencedDeclaration": 3814, + "src": "9727:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9727:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1514, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "9717:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "9717: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": 1519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9717:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1510, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "9685:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9685:66:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1509, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9677:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9677:75:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1522, + "nodeType": "ExpressionStatement", + "src": "9677:75:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1525, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "9824:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1526, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "9849:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1524, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2317, + "src": "9817:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9817:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1523, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9809:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9809:57:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1529, + "nodeType": "ExpressionStatement", + "src": "9809:57:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1533, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1385, + "src": "9936:7:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1534, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1387, + "src": "9945:7:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1535, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1389, + "src": "9954: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": 1530, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "9916:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResult", + "nodeType": "MemberAccess", + "referencedDeclaration": 4069, + "src": "9916: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": 1536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9916:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1537, + "nodeType": "ExpressionStatement", + "src": "9916:43:6" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1539, + "name": "kitty", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "10144:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10144:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1540, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10144:13:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 1541, + "name": "kitty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "10163:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1542, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10161:8:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1544, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6754, + "src": "10185:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + ], + "id": 1543, + "name": "checkBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2181, + "src": "10172:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address) view returns (uint256,uint256)" + } + }, + "id": 1545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10172:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "10161:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1547, + "nodeType": "ExpressionStatement", + "src": "10161:29:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1548, + "name": "kitty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "10233:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10241:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10233:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1579, + "nodeType": "IfStatement", + "src": "10230:231:6", + "trueBody": { + "id": 1578, + "nodeType": "Block", + "src": "10246:215:6", + "statements": [ + { + "assignments": [ + 1552 + ], + "declarations": [ + { + "constant": false, + "id": 1552, + "name": "kittyFraction", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "10251:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10251:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1563, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1560, + "name": "STAKE_BONUS_MIN_THRESHOLD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 673, + "src": "10325:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1557, + "name": "STAKE_BONUS_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 670, + "src": "10302:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1555, + "name": "kitty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "10285:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "10285: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": 1558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10285:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": 3622, + "src": "10285: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": 1561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10285:66:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1553, + "name": "kitty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "10275:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 3639, + "src": "10275: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": 1562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10275:77:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10251:101:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1566, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6754, + "src": "10371:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + }, + { + "argumentTypes": null, + "id": 1567, + "name": "kittyFraction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "10389:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1565, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "10365:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10365:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1564, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10357:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10357:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1570, + "nodeType": "ExpressionStatement", + "src": "10357:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1573, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "10424:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1574, + "name": "kittyFraction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "10441:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1572, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2211, + "src": "10417:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10417:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1571, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10409:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10409:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1577, + "nodeType": "ExpressionStatement", + "src": "10409:47:6" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1581, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1383, + "src": "10489:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1582, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1395, + "src": "10496:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "10496:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10496:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1580, + "name": "WorkOrderCompleted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 742, + "src": "10470:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10470:51:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1586, + "nodeType": "EmitStatement", + "src": "10465:56:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10532:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1393, + "id": 1588, + "nodeType": "Return", + "src": "10525:11:6" + } + ] + }, + "documentation": null, + "id": 1590, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "finalizeWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1383, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8464:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1382, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8464:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1385, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8481:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1384, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8481:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1387, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8500:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1386, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8500:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1389, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8519:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1388, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8519:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8460:72:6" + }, + "payable": false, + "returnParameters": { + "id": 1393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1392, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "8550:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1391, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8550:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8549:6:6" + }, + "scope": 2318, + "src": "8434:2106:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1608, + "nodeType": "Block", + "src": "10664:89:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1599, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1592, + "src": "10693:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1598, + "name": "existingCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1624, + "src": "10676:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10676:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1597, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10668:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10668:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1602, + "nodeType": "ExpressionStatement", + "src": "10668:33:6" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1603, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "10712:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1605, + "indexExpression": { + "argumentTypes": null, + "id": 1604, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1592, + "src": "10725:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10712:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1606, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2807, + "src": "10712:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1596, + "id": 1607, + "nodeType": "Return", + "src": "10705:44:6" + } + ] + }, + "documentation": "Views", + "id": 1609, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategoryWorkClockTimeRef", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1592, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 1609, + "src": "10600:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1591, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10600:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10599:16:6" + }, + "payable": false, + "returnParameters": { + "id": 1596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1595, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1609, + "src": "10637:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1594, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10637:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10636:26:6" + }, + "scope": 2318, + "src": "10563:190:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1623, + "nodeType": "Block", + "src": "10841:45:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1616, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "10852:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1618, + "indexExpression": { + "argumentTypes": null, + "id": 1617, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1611, + "src": "10865:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10852:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1619, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "catid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2801, + "src": "10852:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10881:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10852:30:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1615, + "id": 1622, + "nodeType": "Return", + "src": "10845:37:6" + } + ] + }, + "documentation": null, + "id": 1624, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1612, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1611, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "10782:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1610, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10782:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10781:16:6" + }, + "payable": false, + "returnParameters": { + "id": 1615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1614, + "name": "categoryExist", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "10820:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1613, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10820:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10819:20:6" + }, + "scope": 2318, + "src": "10756:130:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1661, + "nodeType": "Block", + "src": "11023:192:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1639, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "11052:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1638, + "name": "existingCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1624, + "src": "11035:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11035:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1637, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11027:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11027:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1642, + "nodeType": "ExpressionStatement", + "src": "11027:33:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1643, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "11075:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1645, + "indexExpression": { + "argumentTypes": null, + "id": 1644, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "11088:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11075:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1646, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "catid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2801, + "src": "11075:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1647, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "11105:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1649, + "indexExpression": { + "argumentTypes": null, + "id": 1648, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "11118:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11105:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 2803, + "src": "11105:25:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1651, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "11134:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1653, + "indexExpression": { + "argumentTypes": null, + "id": 1652, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "11147:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11134:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "description", + "nodeType": "MemberAccess", + "referencedDeclaration": 2805, + "src": "11134:32:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1655, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "11170:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2808_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1657, + "indexExpression": { + "argumentTypes": null, + "id": 1656, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "11183:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11170:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2808_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2807, + "src": "11170:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1659, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11071:140: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": 1636, + "id": 1660, + "nodeType": "Return", + "src": "11064:147:6" + } + ] + }, + "documentation": null, + "id": 1662, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1626, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 1662, + "src": "10910:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1625, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10910:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10909:16:6" + }, + "payable": false, + "returnParameters": { + "id": 1636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1629, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 1662, + "src": "10947:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1628, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10947:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1631, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1662, + "src": "10962:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1630, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10962:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1633, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1662, + "src": "10975:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1632, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10975:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1635, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1662, + "src": "10996:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1634, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10996:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10946:75:6" + }, + "scope": 2318, + "src": "10889:326:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1669, + "nodeType": "Block", + "src": "11285:27:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1667, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "11296:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1666, + "id": 1668, + "nodeType": "Return", + "src": "11289:19:6" + } + ] + }, + "documentation": null, + "id": 1670, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getRLCAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1663, + "nodeType": "ParameterList", + "parameters": [], + "src": "11240:2:6" + }, + "payable": false, + "returnParameters": { + "id": 1666, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1665, + "name": "rlcAddress", + "nodeType": "VariableDeclaration", + "scope": 1670, + "src": "11264:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1664, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11264:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11263:20:6" + }, + "scope": 2318, + "src": "11218:94:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1688, + "nodeType": "Block", + "src": "11420:79:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1681, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1672, + "src": "11467:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1679, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "11432:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getWorkerAffectation", + "nodeType": "MemberAccess", + "referencedDeclaration": 5903, + "src": "11432:34:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + "id": 1682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11432:43:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1683, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "11477:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1685, + "indexExpression": { + "argumentTypes": null, + "id": 1684, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1672, + "src": "11486:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11477:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1686, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11431:64:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "functionReturnParameters": 1678, + "id": 1687, + "nodeType": "Return", + "src": "11424:71:6" + } + ] + }, + "documentation": null, + "id": 1689, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1672, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1689, + "src": "11340:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1671, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11340:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11339:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1675, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 1689, + "src": "11378:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1674, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11378:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1677, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 1689, + "src": "11398:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1676, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11398:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11377:41:6" + }, + "scope": 2318, + "src": "11315:184:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1700, + "nodeType": "Block", + "src": "11586:32:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1696, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "11597:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1698, + "indexExpression": { + "argumentTypes": null, + "id": 1697, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1691, + "src": "11606:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11597:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1695, + "id": 1699, + "nodeType": "Return", + "src": "11590:24:6" + } + ] + }, + "documentation": null, + "id": 1701, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerScore", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1691, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1701, + "src": "11526:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1690, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11526:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11525:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1694, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 1701, + "src": "11564:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1693, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11564:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11563:21:6" + }, + "scope": 2318, + "src": "11502:116:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1770, + "nodeType": "Block", + "src": "11758:628:6", + "statements": [ + { + "assignments": [ + 1709 + ], + "declarations": [ + { + "constant": false, + "id": 1709, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1771, + "src": "11762:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + }, + "typeName": { + "contractScope": null, + "id": 1708, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5819, + "src": "11762:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1714, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1711, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11797:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11797:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1710, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5819, + "src": "11786:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$5819_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11786:22:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11762:46:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1718, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11880:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11880:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1716, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "11843:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWorkerPoolRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 5863, + "src": "11843:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11843:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1715, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11835:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11835:57:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1722, + "nodeType": "ExpressionStatement", + "src": "11835:57:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1725, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1703, + "src": "11934:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1726, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1709, + "src": "11943:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionLockStakePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4097, + "src": "11943:40:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11943:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1724, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2279, + "src": "11929:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11929:57:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1723, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11921:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11921:66:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1731, + "nodeType": "ExpressionStatement", + "src": "11921:66:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1733, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "12030:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 1735, + "indexExpression": { + "argumentTypes": null, + "id": 1734, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1703, + "src": "12041:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12030:19:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 1736, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "12030:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1737, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1709, + "src": "12059:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 1738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionMinimumStakePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4099, + "src": "12059:43:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12059:45:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12030:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1732, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12022:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12022:83:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1742, + "nodeType": "ExpressionStatement", + "src": "12022:83:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1744, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "12117:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1746, + "indexExpression": { + "argumentTypes": null, + "id": 1745, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1703, + "src": "12126:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12117:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1747, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1709, + "src": "12146:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 1748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionMinimumScorePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4101, + "src": "12146:43:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12146:45:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12117:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1743, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12109:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12109:83:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1752, + "nodeType": "ExpressionStatement", + "src": "12109:83:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1756, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "12268:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12268:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1758, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1703, + "src": "12280:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1754, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "12228:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "registerWorkerAffectation", + "nodeType": "MemberAccess", + "referencedDeclaration": 6009, + "src": "12228:39:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) external returns (bool)" + } + }, + "id": 1759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12228:60:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1753, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12220:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12220:69:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1761, + "nodeType": "ExpressionStatement", + "src": "12220:69:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1763, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "12347:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12347:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1765, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1703, + "src": "12359:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1762, + "name": "WorkerPoolSubscription", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 790, + "src": "12324:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12324:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1767, + "nodeType": "EmitStatement", + "src": "12319:48:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12378:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1707, + "id": 1769, + "nodeType": "Return", + "src": "12371:11:6" + } + ] + }, + "documentation": "Worker subscription", + "id": 1771, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "registerToPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1703, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1771, + "src": "11679:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1702, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11679:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11678:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1706, + "name": "subscribed", + "nodeType": "VariableDeclaration", + "scope": 1771, + "src": "11712:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1705, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11712:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11711:17:6" + }, + "scope": 2318, + "src": "11655:731:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1794, + "nodeType": "Block", + "src": "12498:145:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1780, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "12523:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12523:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1782, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1773, + "src": "12535:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1779, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1861, + "src": "12510:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) returns (bool)" + } + }, + "id": 1783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12510:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1778, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12502:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12502:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1785, + "nodeType": "ExpressionStatement", + "src": "12502:42:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1787, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "12604:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12604:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1789, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1773, + "src": "12616:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1786, + "name": "WorkerPoolUnsubscription", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 796, + "src": "12579:24:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12579:45:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1791, + "nodeType": "EmitStatement", + "src": "12574:50:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12635:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1777, + "id": 1793, + "nodeType": "Return", + "src": "12628:11:6" + } + ] + }, + "documentation": null, + "id": 1795, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unregisterFromPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1774, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1773, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1795, + "src": "12417:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1772, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12417:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12416:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1777, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1776, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 1795, + "src": "12450:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1775, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12450:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12449:19:6" + }, + "scope": 2318, + "src": "12389:254:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1818, + "nodeType": "Block", + "src": "12748:139:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1804, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "12773: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": "12773:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1806, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1797, + "src": "12785:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1803, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1861, + "src": "12760:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) returns (bool)" + } + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12760:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1802, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12752:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12752:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1809, + "nodeType": "ExpressionStatement", + "src": "12752:42:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1811, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "12848:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12848:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1813, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1797, + "src": "12860:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1810, + "name": "WorkerPoolEviction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 802, + "src": "12829:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12829:39:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1815, + "nodeType": "EmitStatement", + "src": "12824:44:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12879:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1801, + "id": 1817, + "nodeType": "Return", + "src": "12872:11:6" + } + ] + }, + "documentation": null, + "id": 1819, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "evictWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1797, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1819, + "src": "12667:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1796, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12667:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12666:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1800, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 1819, + "src": "12700:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1799, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12700:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12699:19:6" + }, + "scope": 2318, + "src": "12646:241:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1860, + "nodeType": "Block", + "src": "12988:352:6", + "statements": [ + { + "assignments": [ + 1829 + ], + "declarations": [ + { + "constant": false, + "id": 1829, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "12992:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + }, + "typeName": { + "contractScope": null, + "id": 1828, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5819, + "src": "12992:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1833, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1831, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "13027:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1830, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5819, + "src": "13016:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$5819_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13016:23:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12992:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1837, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "13111:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1835, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "13074:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWorkerPoolRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 5863, + "src": "13074:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13074:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1834, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13066:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13066:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1840, + "nodeType": "ExpressionStatement", + "src": "13066:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1843, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1823, + "src": "13168:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1844, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1829, + "src": "13177:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 1845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionLockStakePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4097, + "src": "13177:40:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13177:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1842, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2317, + "src": "13161:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13161:59:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1841, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13153:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13153:68:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1849, + "nodeType": "ExpressionStatement", + "src": "13153:68:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1853, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "13299:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1854, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1823, + "src": "13312:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1851, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "13257:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6040", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unregisterWorkerAffectation", + "nodeType": "MemberAccess", + "referencedDeclaration": 6039, + "src": "13257:41:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) external returns (bool)" + } + }, + "id": 1855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13257:63:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1850, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13249:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13249:72:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1857, + "nodeType": "ExpressionStatement", + "src": "13249:72:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13332:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1827, + "id": 1859, + "nodeType": "Return", + "src": "13325:11:6" + } + ] + }, + "documentation": null, + "id": 1861, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1821, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "12912:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1820, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12912:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1823, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "12933:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12933:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12911:38:6" + }, + "payable": false, + "returnParameters": { + "id": 1827, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1826, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "12968:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1825, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12968:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12967:19:6" + }, + "scope": 2318, + "src": "12890:450:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1881, + "nodeType": "Block", + "src": "13505:52:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1874, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1863, + "src": "13522:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1875, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1865, + "src": "13529:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1873, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2279, + "src": "13517:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13517:20:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1872, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13509:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13509:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1878, + "nodeType": "ExpressionStatement", + "src": "13509:29:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13549:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1871, + "id": 1880, + "nodeType": "Return", + "src": "13542:11:6" + } + ] + }, + "documentation": "Stake, reward and penalty functions", + "id": 1882, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 1868, + "modifierName": { + "argumentTypes": null, + "id": 1867, + "name": "onlyMarketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "13473:15:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "13473:15:6" + } + ], + "name": "lockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1863, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1882, + "src": "13434:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1862, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13434:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1865, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1882, + "src": "13449:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1864, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13449:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13433:32:6" + }, + "payable": false, + "returnParameters": { + "id": 1871, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1870, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1882, + "src": "13498:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1869, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13498:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13497:6:6" + }, + "scope": 2318, + "src": "13412:145:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1902, + "nodeType": "Block", + "src": "13655:54:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1895, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1884, + "src": "13674:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1896, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1886, + "src": "13681:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1894, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2317, + "src": "13667:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13667:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1893, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13659:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13659:31:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1899, + "nodeType": "ExpressionStatement", + "src": "13659:31:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13701:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1892, + "id": 1901, + "nodeType": "Return", + "src": "13694:11:6" + } + ] + }, + "documentation": null, + "id": 1903, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 1889, + "modifierName": { + "argumentTypes": null, + "id": 1888, + "name": "onlyMarketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "13623:15:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "13623:15:6" + } + ], + "name": "unlockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1884, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1903, + "src": "13583:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1883, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13583:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1886, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1903, + "src": "13598:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13598:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13582:32:6" + }, + "payable": false, + "returnParameters": { + "id": 1892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1891, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1903, + "src": "13648:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1890, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13648:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13647:6:6" + }, + "scope": 2318, + "src": "13559:150:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1934, + "nodeType": "Block", + "src": "13814:110:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1916, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1905, + "src": "13836:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1915, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "13826:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13826:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "13826:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13826:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1920, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "13861:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13861:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13826:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1914, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13818:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13818:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1924, + "nodeType": "ExpressionStatement", + "src": "13818:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1927, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "13889:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1928, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1909, + "src": "13896:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1926, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2279, + "src": "13884:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13884:20:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1925, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13876:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13876:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1931, + "nodeType": "ExpressionStatement", + "src": "13876:29:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13916:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1913, + "id": 1933, + "nodeType": "Return", + "src": "13909:11:6" + } + ] + }, + "documentation": null, + "id": 1935, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1905, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1935, + "src": "13744:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1904, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13744:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1907, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1935, + "src": "13759:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13759:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1909, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1935, + "src": "13774:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1908, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13774:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13743:47:6" + }, + "payable": false, + "returnParameters": { + "id": 1913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1912, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1935, + "src": "13807:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1911, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13807:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13806:6:6" + }, + "scope": 2318, + "src": "13723:201:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1966, + "nodeType": "Block", + "src": "14019:112:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1948, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1937, + "src": "14041:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1947, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "14031:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14031:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "14031:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14031:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1952, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "14066:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14066:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14031:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1946, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14023:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14023:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1956, + "nodeType": "ExpressionStatement", + "src": "14023:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1959, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1939, + "src": "14096:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1960, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1941, + "src": "14103:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1958, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2317, + "src": "14089:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14089:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1957, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14081:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14081:31:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1963, + "nodeType": "ExpressionStatement", + "src": "14081:31:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14123:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1945, + "id": 1965, + "nodeType": "Return", + "src": "14116:11:6" + } + ] + }, + "documentation": null, + "id": 1967, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1937, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1967, + "src": "13949:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1936, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13949:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1939, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1967, + "src": "13964:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1938, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13964:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1941, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1967, + "src": "13979:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13979:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13948:47:6" + }, + "payable": false, + "returnParameters": { + "id": 1945, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1944, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1967, + "src": "14012:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1943, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14012:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14011:6:6" + }, + "scope": 2318, + "src": "13926:205:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2019, + "nodeType": "Block", + "src": "14246:314:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1982, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1969, + "src": "14268:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1981, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "14258:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14258:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 1984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "14258:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14258:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1986, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "14293:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14293:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14258:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1980, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14250:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14250:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1990, + "nodeType": "ExpressionStatement", + "src": "14250:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1993, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "14323:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1994, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "14332:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1992, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2211, + "src": "14316:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14316:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1991, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14308:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14308:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1997, + "nodeType": "ExpressionStatement", + "src": "14308:33:6" + }, + { + "condition": { + "argumentTypes": null, + "id": 1998, + "name": "_reputation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1975, + "src": "14427:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2016, + "nodeType": "IfStatement", + "src": "14423:119:6", + "trueBody": { + "id": 2015, + "nodeType": "Block", + "src": "14442:100:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1999, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "14447:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2001, + "indexExpression": { + "argumentTypes": null, + "id": 2000, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "14456:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14447:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14489: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": 2002, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "14467:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2004, + "indexExpression": { + "argumentTypes": null, + "id": 2003, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "14476:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14467:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "14467: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": 2007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14467:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14447:44:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2009, + "nodeType": "ExpressionStatement", + "src": "14447:44:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2011, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1969, + "src": "14522:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2012, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "14529:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2010, + "name": "AccurateContribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "14501:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 2013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14501:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2014, + "nodeType": "EmitStatement", + "src": "14496:41:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14552:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1979, + "id": 2018, + "nodeType": "Return", + "src": "14545:11:6" + } + ] + }, + "documentation": null, + "id": 2020, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "rewardForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1976, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1969, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2020, + "src": "14156:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1968, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14156:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1971, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2020, + "src": "14171:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1970, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14171:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1973, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2020, + "src": "14188:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1972, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14188:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1975, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2020, + "src": "14205:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1974, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14205:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14155:67:6" + }, + "payable": false, + "returnParameters": { + "id": 1979, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1978, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2020, + "src": "14239:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1977, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14239:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14238:6:6" + }, + "scope": 2318, + "src": "14133:427:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2077, + "nodeType": "Block", + "src": "14674:352:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2035, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2022, + "src": "14696:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2034, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "14686:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 2036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14686:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 2037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 3810, + "src": "14686:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14686:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2039, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "14721:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14721:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14686:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2033, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14678:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14678:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2043, + "nodeType": "ExpressionStatement", + "src": "14678:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2046, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2024, + "src": "14750:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2047, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2026, + "src": "14759:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2045, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "14744:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 2048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14744:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2044, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14736:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14736:32:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2050, + "nodeType": "ExpressionStatement", + "src": "14736:32:6" + }, + { + "condition": { + "argumentTypes": null, + "id": 2051, + "name": "_reputation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2028, + "src": "14854:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2074, + "nodeType": "IfStatement", + "src": "14850:158:6", + "trueBody": { + "id": 2073, + "nodeType": "Block", + "src": "14869:139:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2052, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "14874:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2054, + "indexExpression": { + "argumentTypes": null, + "id": 2053, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2024, + "src": "14883:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14874:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2063, + "name": "SCORE_UNITARY_SLASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "14938:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2059, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "14916:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2061, + "indexExpression": { + "argumentTypes": null, + "id": 2060, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2024, + "src": "14925:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14916:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 3639, + "src": "14916: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": 2064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14916:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2055, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "14894:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2057, + "indexExpression": { + "argumentTypes": null, + "id": 2056, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2024, + "src": "14903:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14894:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "14894: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": 2065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14894:65:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14874:85:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2067, + "nodeType": "ExpressionStatement", + "src": "14874:85:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2069, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2022, + "src": "14988:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2070, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2024, + "src": "14995:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2068, + "name": "FaultyContribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 814, + "src": "14969:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 2071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14969:34:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2072, + "nodeType": "EmitStatement", + "src": "14964:39:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15018:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2032, + "id": 2076, + "nodeType": "Return", + "src": "15011:11:6" + } + ] + }, + "documentation": null, + "id": 2078, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seizeForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2029, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2022, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "14584:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2021, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14584:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2024, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "14599:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2023, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14599:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2026, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "14616:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2025, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14616:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2028, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "14633:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2027, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14633:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14583:67:6" + }, + "payable": false, + "returnParameters": { + "id": 2032, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2031, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "14667:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2030, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14667:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14666:6:6" + }, + "scope": 2318, + "src": "14562:464:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2120, + "nodeType": "Block", + "src": "15124:197:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2088, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15153:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15153:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2091, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6754, + "src": "15173:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2318", + "typeString": "contract IexecHub" + } + ], + "id": 2090, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15165:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15165:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2093, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2080, + "src": "15180: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": 2086, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 665, + "src": "15136:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "id": 2087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 6387, + "src": "15136: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": 2094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15136:52:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2085, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "15128:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15128:61:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2096, + "nodeType": "ExpressionStatement", + "src": "15128:61:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2097, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15193:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2100, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2098, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15204:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15204:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15193:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2101, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15193:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2108, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2080, + "src": "15257: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": 2102, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15224:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2105, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2103, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15235:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15235:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15224:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15224:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "15224: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": 2109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15224:41:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15193:72:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2111, + "nodeType": "ExpressionStatement", + "src": "15193:72:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2113, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15282:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15282:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2115, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2080, + "src": "15294:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2112, + "name": "Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 820, + "src": "15274:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15274:28:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2117, + "nodeType": "EmitStatement", + "src": "15269:33:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15313:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2084, + "id": 2119, + "nodeType": "Return", + "src": "15306:11:6" + } + ] + }, + "documentation": "Wallet methods: public", + "id": 2121, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2081, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2080, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2121, + "src": "15082:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2079, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15082:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15081:17:6" + }, + "payable": false, + "returnParameters": { + "id": 2084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2083, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2121, + "src": "15117:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2082, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15117:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15116:6:6" + }, + "scope": 2318, + "src": "15065:256:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2160, + "nodeType": "Block", + "src": "15383:179:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2128, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15387:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2131, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2129, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15398:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15398:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15387:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2132, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15387:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2139, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "15451: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": 2133, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15418:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2136, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2134, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15429:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15429:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15418:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2137, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15418:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "15418: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": 2140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15418:41:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15387:72:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2142, + "nodeType": "ExpressionStatement", + "src": "15387:72:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2146, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15484:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15484:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2148, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "15496:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2144, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 665, + "src": "15471:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + "id": 2145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 6323, + "src": "15471:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15471:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2143, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "15463: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": "15463:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2151, + "nodeType": "ExpressionStatement", + "src": "15463:42:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2153, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "15523:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15523:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2155, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "15535:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2152, + "name": "Withdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 826, + "src": "15514:8:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15514:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2157, + "nodeType": "EmitStatement", + "src": "15509:34:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15554:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2127, + "id": 2159, + "nodeType": "Return", + "src": "15547:11:6" + } + ] + }, + "documentation": null, + "id": 2161, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2124, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2123, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2161, + "src": "15341:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2122, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15341:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15340:17:6" + }, + "payable": false, + "returnParameters": { + "id": 2127, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2126, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2161, + "src": "15376:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2125, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15376:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15375:6:6" + }, + "scope": 2318, + "src": "15323:239:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2180, + "nodeType": "Block", + "src": "15655:68:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2170, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15667:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2172, + "indexExpression": { + "argumentTypes": null, + "id": 2171, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2163, + "src": "15678:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15667:18:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15667:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2174, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15693:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2176, + "indexExpression": { + "argumentTypes": null, + "id": 2175, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2163, + "src": "15704:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15693:18:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2177, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "15693:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2178, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15666:53:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 2169, + "id": 2179, + "nodeType": "Return", + "src": "15659:60:6" + } + ] + }, + "documentation": null, + "id": 2181, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2163, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 2181, + "src": "15586:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2162, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15586:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15585:16:6" + }, + "payable": false, + "returnParameters": { + "id": 2169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2166, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2181, + "src": "15623:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15623:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2168, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 2181, + "src": "15638:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15638:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15622:31:6" + }, + "scope": 2318, + "src": "15564:159:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2210, + "nodeType": "Block", + "src": "15837:116:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2190, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15841:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2192, + "indexExpression": { + "argumentTypes": null, + "id": 2191, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2183, + "src": "15852:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15841:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2193, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15841:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2199, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2185, + "src": "15895: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": 2194, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "15867:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2196, + "indexExpression": { + "argumentTypes": null, + "id": 2195, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2183, + "src": "15878:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15867:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "15867:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "15867: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": 2200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15867:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15841:62:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2202, + "nodeType": "ExpressionStatement", + "src": "15841:62:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2204, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2183, + "src": "15919:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2205, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2185, + "src": "15926:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2203, + "name": "Reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 832, + "src": "15912:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15912:22:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2207, + "nodeType": "EmitStatement", + "src": "15907:27:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15945:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2189, + "id": 2209, + "nodeType": "Return", + "src": "15938:11:6" + } + ] + }, + "documentation": "Wallet methods: Internal", + "id": 2211, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2183, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2211, + "src": "15780:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15780:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2185, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2211, + "src": "15795:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2184, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15795:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15779:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2188, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2211, + "src": "15830:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2187, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15830:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15829:6:6" + }, + "scope": 2318, + "src": "15764:189:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2240, + "nodeType": "Block", + "src": "16027:117:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2220, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16031:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2222, + "indexExpression": { + "argumentTypes": null, + "id": 2221, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2213, + "src": "16042:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16031:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2223, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "16031:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2229, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2215, + "src": "16087: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": 2224, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16058:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2226, + "indexExpression": { + "argumentTypes": null, + "id": 2225, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2213, + "src": "16069:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16058:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2227, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "16058:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "16058: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": 2230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16058:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16031:64:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2232, + "nodeType": "ExpressionStatement", + "src": "16031:64:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2234, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2213, + "src": "16110:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2235, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2215, + "src": "16117:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2233, + "name": "Seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "16104:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16104:21:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2237, + "nodeType": "EmitStatement", + "src": "16099:26:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16136:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2219, + "id": 2239, + "nodeType": "Return", + "src": "16129:11:6" + } + ] + }, + "documentation": null, + "id": 2241, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2213, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2241, + "src": "15970:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15970:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2215, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2241, + "src": "15985:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2214, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15985:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15969:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2218, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2241, + "src": "16020:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2217, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16020:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16019:6:6" + }, + "scope": 2318, + "src": "15955:189:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2278, + "nodeType": "Block", + "src": "16217:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2250, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16221:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2252, + "indexExpression": { + "argumentTypes": null, + "id": 2251, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "16232:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16221:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "16221:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2259, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "16276: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": 2254, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16248:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2256, + "indexExpression": { + "argumentTypes": null, + "id": 2255, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "16259:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16248:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2257, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "16248:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "16248: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": 2260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16248:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16221:63:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2262, + "nodeType": "ExpressionStatement", + "src": "16221:63:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2263, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16288:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2265, + "indexExpression": { + "argumentTypes": null, + "id": 2264, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "16299:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16288:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2266, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "16288:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2272, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "16344: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": 2267, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16315:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2269, + "indexExpression": { + "argumentTypes": null, + "id": 2268, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "16326:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16315:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2270, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "16315:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "16315: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": 2273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16315:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16288:64:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2275, + "nodeType": "ExpressionStatement", + "src": "16288:64:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16363:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2249, + "id": 2277, + "nodeType": "Return", + "src": "16356:11:6" + } + ] + }, + "documentation": null, + "id": 2279, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2243, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "16160:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2242, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16160:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2245, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "16175:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16175:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16159:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2249, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2248, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "16210:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2247, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16210:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16209:6:6" + }, + "scope": 2318, + "src": "16146:225:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2316, + "nodeType": "Block", + "src": "16446:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2288, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16450:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2290, + "indexExpression": { + "argumentTypes": null, + "id": 2289, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "16461:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16450:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "16450:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2297, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2283, + "src": "16506: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": 2292, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16477:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2294, + "indexExpression": { + "argumentTypes": null, + "id": 2293, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "16488:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16477:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2793, + "src": "16477:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "16477: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": 2298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16477:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16450:64:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2300, + "nodeType": "ExpressionStatement", + "src": "16450:64:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2301, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16518:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2303, + "indexExpression": { + "argumentTypes": null, + "id": 2302, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "16529:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16518:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2304, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "16518:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2310, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2283, + "src": "16573: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": 2305, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "16545:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2794_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2307, + "indexExpression": { + "argumentTypes": null, + "id": 2306, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "16556:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16545:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2794_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2308, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2791, + "src": "16545:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "16545: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": 2311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16545:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16518:63:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2313, + "nodeType": "ExpressionStatement", + "src": "16518:63:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2314, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16592:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2287, + "id": 2315, + "nodeType": "Return", + "src": "16585:11:6" + } + ] + }, + "documentation": null, + "id": 2317, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2281, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2317, + "src": "16389:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16389:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2283, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2317, + "src": "16404:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2282, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16404:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16388:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2286, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2317, + "src": "16439:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2285, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16439:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16438:6:6" + }, + "scope": 2318, + "src": "16373:227:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 2319, + "src": "281:16321:6" + } + ], + "src": "0:16603: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": "0x12b92a17b1ca4bb10b861386446b8b2716e58c9b", + "transactionHash": "0x595fdb692ec5f39bc86f9fa3ef73de84f07d2bfe2fe73eb932e7500ce408726e" + }, + "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": "0x94769bf5ee101205886c9518130e3acd71510661", + "transactionHash": "0x64564fd91ccb0fc964ff27123c4976b8c115f5053836642d912caaf98f1ce062" + }, + "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": "0x45cbd2d0e9a913f17669f226727b1849ff7bfcb7", + "transactionHash": "0xcd3ac795cfd3f40bbf2a85dde6d038818c3ed0f4803d1a0d2f35657e2bd17001" + } + }, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T19:19:29.317Z" +} \ No newline at end of file diff --git a/build/contracts/IexecHubAccessor.json b/build/contracts/IexecHubAccessor.json new file mode 100644 index 00000000..badaf8ca --- /dev/null +++ b/build/contracts/IexecHubAccessor.json @@ -0,0 +1,1135 @@ +{ + "contractName": "IexecHubAccessor", + "abi": [ + { + "inputs": [ + { + "name": "_iexecHubAddress", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + } + ], + "bytecode": "0x60606040523415600e57600080fd5b60405160208060a383398101604052808051915050600160a060020a0381161515603757600080fd5b60008054600160a060020a03909216600160a060020a0319928316811790915560018054909216179055603580606e6000396000f3006060604052600080fd00a165627a7a723058202f3d7955d13468f843cabaadf784b58df0c03571cefca04a418bc1a8c05dfc810029", + "deployedBytecode": "0x6060604052600080fd00a165627a7a723058202f3d7955d13468f843cabaadf784b58df0c03571cefca04a418bc1a8c05dfc810029", + "sourceMap": "61:410:7:-;;;262:206;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;334:30:7;;;;326:39;;;;;;369:15;:36;;-1:-1:-1;;;;;369:36:7;;;-1:-1:-1;;;;;;369:36:7;;;;;;;;;409:55;;;;;;;;61:410;;;;;;", + "deployedSourceMap": "61:410:7:-;;;;;", + "source": "pragma solidity ^0.4.21;\n\nimport './IexecHubInterface.sol';\n\ncontract IexecHubAccessor\n{\n\taddress internal iexecHubAddress;\n\tIexecHubInterface internal iexecHubInterface;\n\n\tmodifier onlyIexecHub()\n\t{\n\t\trequire(msg.sender == iexecHubAddress);\n\t\t_;\n\t}\n\n\tfunction IexecHubAccessor(address _iexecHubAddress) public\n\t{\n\t\trequire(_iexecHubAddress != address(0));\n\t\tiexecHubAddress = _iexecHubAddress;\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": [ + 2361 + ] + }, + "id": 2362, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2320, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:7" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", + "file": "./IexecHubInterface.sol", + "id": 2321, + "nodeType": "ImportDirective", + "scope": 2362, + "sourceUnit": 2721, + "src": "26:33:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 2361, + "linearizedBaseContracts": [ + 2361 + ], + "name": "IexecHubAccessor", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2323, + "name": "iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2361, + "src": "90:42:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "90:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2325, + "name": "iexecHubInterface", + "nodeType": "VariableDeclaration", + "scope": 2361, + "src": "135:44:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + }, + "typeName": { + "contractScope": null, + "id": 2324, + "name": "IexecHubInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2720, + "src": "135:17:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 2335, + "nodeType": "Block", + "src": "208:51:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2328, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "220:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "220:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2330, + "name": "iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2323, + "src": "234:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "220:29:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2327, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "212:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "212:38:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2333, + "nodeType": "ExpressionStatement", + "src": "212:38:7" + }, + { + "id": 2334, + "nodeType": "PlaceholderStatement", + "src": "254:1:7" + } + ] + }, + "documentation": null, + "id": 2336, + "name": "onlyIexecHub", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2326, + "nodeType": "ParameterList", + "parameters": [], + "src": "204:2:7" + }, + "src": "183:76:7", + "visibility": "internal" + }, + { + "body": { + "id": 2359, + "nodeType": "Block", + "src": "322:146:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2342, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2338, + "src": "334:16:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 2344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "362: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": 2343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "354:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "354:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "334:30:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2341, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "326:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "326:39:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2348, + "nodeType": "ExpressionStatement", + "src": "326:39:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 2351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2349, + "name": "iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2323, + "src": "369:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2350, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2338, + "src": "389:16:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "369:36:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2352, + "nodeType": "ExpressionStatement", + "src": "369:36:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 2357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2353, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "409:17:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2355, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2338, + "src": "447:16:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2354, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2720, + "src": "429:17:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$2720_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 2356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "429:35:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "src": "409:55:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 2358, + "nodeType": "ExpressionStatement", + "src": "409:55:7" + } + ] + }, + "documentation": null, + "id": 2360, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "IexecHubAccessor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2338, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2360, + "src": "288:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2337, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "288:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "287:26:7" + }, + "payable": false, + "returnParameters": { + "id": 2340, + "nodeType": "ParameterList", + "parameters": [], + "src": "322:0:7" + }, + "scope": 2361, + "src": "262:206:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 2362, + "src": "61:410:7" + } + ], + "src": "0:472:7" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "exportedSymbols": { + "IexecHubAccessor": [ + 2361 + ] + }, + "id": 2362, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2320, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:7" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", + "file": "./IexecHubInterface.sol", + "id": 2321, + "nodeType": "ImportDirective", + "scope": 2362, + "sourceUnit": 2721, + "src": "26:33:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 2361, + "linearizedBaseContracts": [ + 2361 + ], + "name": "IexecHubAccessor", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2323, + "name": "iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2361, + "src": "90:42:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "90:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2325, + "name": "iexecHubInterface", + "nodeType": "VariableDeclaration", + "scope": 2361, + "src": "135:44:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + }, + "typeName": { + "contractScope": null, + "id": 2324, + "name": "IexecHubInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2720, + "src": "135:17:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 2335, + "nodeType": "Block", + "src": "208:51:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2328, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "220:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "220:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2330, + "name": "iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2323, + "src": "234:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "220:29:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2327, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "212:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "212:38:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2333, + "nodeType": "ExpressionStatement", + "src": "212:38:7" + }, + { + "id": 2334, + "nodeType": "PlaceholderStatement", + "src": "254:1:7" + } + ] + }, + "documentation": null, + "id": 2336, + "name": "onlyIexecHub", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2326, + "nodeType": "ParameterList", + "parameters": [], + "src": "204:2:7" + }, + "src": "183:76:7", + "visibility": "internal" + }, + { + "body": { + "id": 2359, + "nodeType": "Block", + "src": "322:146:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2342, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2338, + "src": "334:16:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 2344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "362: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": 2343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "354:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "354:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "334:30:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2341, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "326:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "326:39:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2348, + "nodeType": "ExpressionStatement", + "src": "326:39:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 2351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2349, + "name": "iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2323, + "src": "369:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2350, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2338, + "src": "389:16:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "369:36:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2352, + "nodeType": "ExpressionStatement", + "src": "369:36:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 2357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2353, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "409:17:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2355, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2338, + "src": "447:16:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2354, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2720, + "src": "429:17:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$2720_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 2356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "429:35:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "src": "409:55:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 2358, + "nodeType": "ExpressionStatement", + "src": "409:55:7" + } + ] + }, + "documentation": null, + "id": 2360, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "IexecHubAccessor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2338, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2360, + "src": "288:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2337, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "288:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "287:26:7" + }, + "payable": false, + "returnParameters": { + "id": 2340, + "nodeType": "ParameterList", + "parameters": [], + "src": "322:0:7" + }, + "scope": 2361, + "src": "262:206:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 2362, + "src": "61:410:7" + } + ], + "src": "0:472:7" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T18:32:30.792Z" +} \ No newline at end of file diff --git a/build/contracts/IexecHubInterface.json b/build/contracts/IexecHubInterface.json new file mode 100644 index 00000000..cd5ceab4 --- /dev/null +++ b/build/contracts/IexecHubInterface.json @@ -0,0 +1,9476 @@ +{ + "contractName": "IexecHubInterface", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_marketplaceAddress", + "type": "address" + } + ], + "name": "attachMarketplace", + "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": "_name", + "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": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + } + ], + "name": "startRevealingPhase", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + } + ], + "name": "reActivate", + "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": "_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": true, + "inputs": [], + "name": "getRLCAddress", + "outputs": [ + { + "name": "rlc", + "type": "address" + } + ], + "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": "_user", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "seizeForOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "rewardForOrder", + "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;\nimport './IexecLib.sol';\ncontract IexecHubInterface\n{\n\tfunction attachMarketplace(\n\t\taddress _marketplaceAddress)\n\tpublic;\n\n\tfunction setCategoriesCreator(\n\t\taddress _categoriesCreator)\n\tpublic;\n\n\n\n\tfunction createCategory(\n\t\tstring _name,\n\t\tstring _description,\n\t\tuint256 _workClockTimeRef)\n\tpublic /* onlyCategoriesCreator */ returns (uint256 catid);\n\n\tfunction createWorkerPool(\n\t\tstring _name,\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 emitWorkOrder(\n\t\tuint256 _marketorderIdx,\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\t\tstring _params,\n\t\taddress _callback,\n\t\taddress _beneficiary)\n\tinternal returns (address);\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 startRevealingPhase(\n\t\taddress _woid)\n\tpublic returns (bool);\n\n\tfunction reActivate(\n\t\taddress _woid)\n\tpublic returns (bool);\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\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(\n\t\taddress _worker)\n\tpublic view returns (uint256 workerScore);\n\n\tfunction getRLCAddress()\n\tpublic view returns (address rlc);\n\n\tfunction registerToPool(address _worker)\n\tpublic returns (bool subscribed);\n\n\tfunction unregisterFromPool(address _worker)\n\tpublic returns (bool unsubscribed);\n\n\tfunction evictWorker(\n\t\taddress _worker)\n\tpublic returns (bool unsubscribed);\n\n\tfunction lockForOrder(\n\t\taddress _user,\n\t\tuint256 _amount)\n\tpublic /* onlyMarketplace */ returns (bool);\n\n\tfunction unlockForOrder(\n\t\taddress _user,\n\t\tuint256 _amount)\n\tpublic /* onlyMarketplace */ returns (bool);\n\n\tfunction seizeForOrder(\n\t\taddress _user,\n\t\tuint256 _amount)\n\tpublic /* onlyMarketplace */ returns (bool);\n\n\tfunction rewardForOrder(\n\t\taddress _user,\n\t\tuint256 _amount)\n\tpublic /* onlyMarketplace */ returns (bool);\n\n\tfunction lockForWork(\n\t\taddress _woid,\n\t\taddress _user,\n\t\tuint256 _amount)\n\tpublic returns (bool);\n\n\tfunction unlockForWork(\n\t\taddress _woid,\n\t\taddress _user,\n\t\tuint256 _amount)\n\tpublic returns (bool);\n\n\tfunction rewardForWork(\n\t\taddress _woid,\n\t\taddress _worker,\n\t\tuint256 _amount,\n\t\tbool _reputation)\n\tpublic returns (bool);\n\n\tfunction seizeForWork(\n\t\taddress _woid,\n\t\taddress _worker,\n\t\tuint256 _amount,\n\t\tbool _reputation)\n\tpublic returns (bool);\n\n\tfunction deposit(\n\t\tuint256 _amount)\n\texternal returns (bool);\n\n\tfunction withdraw(\n\t\tuint256 _amount)\n\texternal returns (bool);\n\n\tfunction checkBalance(\n\t\taddress _owner)\n\tpublic view returns (uint256 stake, uint256 locked);\n\n\tfunction reward(\n\t\taddress _user,\n\t\tuint256 _amount)\n\tinternal returns (bool);\n\n\tfunction seize(\n\t\taddress _user,\n\t\tuint256 _amount)\n\tinternal returns (bool);\n\n\tfunction lock(\n\t\taddress _user,\n\t\tuint256 _amount)\n\tinternal returns (bool);\n\n\tfunction unlock(\n\t\taddress _user,\n\t\tuint256 _amount)\n\tinternal returns (bool);\n\n\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", + "exportedSymbols": { + "IexecHubInterface": [ + 2720 + ] + }, + "id": 2721, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2363, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:8" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 2364, + "nodeType": "ImportDirective", + "scope": 2721, + "sourceUnit": 2810, + "src": "25:24:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 2720, + "linearizedBaseContracts": [ + 2720 + ], + "name": "IexecHubInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 2369, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "attachMarketplace", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2366, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 2369, + "src": "110:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "110:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "106:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2368, + "nodeType": "ParameterList", + "parameters": [], + "src": "146:0:8" + }, + "scope": 2720, + "src": "80:67:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2374, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setCategoriesCreator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2371, + "name": "_categoriesCreator", + "nodeType": "VariableDeclaration", + "scope": 2374, + "src": "183:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2370, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "183:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "179:31:8" + }, + "payable": false, + "returnParameters": { + "id": 2373, + "nodeType": "ParameterList", + "parameters": [], + "src": "218:0:8" + }, + "scope": 2720, + "src": "150:69:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2385, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2376, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 2385, + "src": "251:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2375, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "251:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2378, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 2385, + "src": "268:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2377, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "268:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2380, + "name": "_workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2385, + "src": "292:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2379, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "292:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "247:71:8" + }, + "payable": false, + "returnParameters": { + "id": 2384, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2383, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 2385, + "src": "364:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2382, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "364:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "363:15:8" + }, + "scope": 2720, + "src": "224:155:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2398, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2387, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 2398, + "src": "411:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2386, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "411:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2389, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 2398, + "src": "428:36:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "428:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2391, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 2398, + "src": "468:39:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2390, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "468:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2393, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 2398, + "src": "511:39:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2392, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "511:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "407:144:8" + }, + "payable": false, + "returnParameters": { + "id": 2397, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2396, + "name": "createdWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 2398, + "src": "571:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2395, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "571:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "570:27:8" + }, + "scope": 2720, + "src": "382:216:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2409, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2400, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 2409, + "src": "623:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2399, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "623:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2402, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 2409, + "src": "643:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2401, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "643:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2404, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 2409, + "src": "664:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2403, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "664:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "619:64:8" + }, + "payable": false, + "returnParameters": { + "id": 2408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2407, + "name": "createdApp", + "nodeType": "VariableDeclaration", + "scope": 2409, + "src": "703:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2406, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "703:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "702:20:8" + }, + "scope": 2720, + "src": "601:122:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2420, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2411, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 2420, + "src": "752:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2410, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "752:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2413, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 2420, + "src": "776:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2412, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "776:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2415, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 2420, + "src": "801:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2414, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "801:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "748:76:8" + }, + "payable": false, + "returnParameters": { + "id": 2419, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2418, + "name": "createdDataset", + "nodeType": "VariableDeclaration", + "scope": 2420, + "src": "844:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2417, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "844:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "843:24:8" + }, + "scope": 2720, + "src": "726:142:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2439, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyForWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2435, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2422, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "899:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2421, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "899:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2424, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "926:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2423, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "926:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2426, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "949:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2425, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "949:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2428, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "965:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2427, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "965:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2430, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "985:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2429, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "985:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2432, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "1004:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2431, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1004:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2434, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "1025:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2433, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1025:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "895:151:8" + }, + "payable": false, + "returnParameters": { + "id": 2438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2437, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "1066:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1066:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1065:9:8" + }, + "scope": 2720, + "src": "871:204:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2460, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "emitWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2456, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2441, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1104:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2440, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1104:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2443, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1131:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2442, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1131:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2445, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1153:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1153:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2447, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1206:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2446, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1206:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2449, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1259:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2448, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1259:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2451, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1312:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2450, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1312:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2453, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1331:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2452, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1331:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2455, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1352:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2454, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1352:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1100:273:8" + }, + "payable": false, + "returnParameters": { + "id": 2459, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2458, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1393:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1393:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1392:9:8" + }, + "scope": 2720, + "src": "1078:324:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2473, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockWorkOrderCost", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2469, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2462, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "1435:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2461, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1435:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2464, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "1457:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2463, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1457:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2466, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "1510:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2465, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1510:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2468, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "1563:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2467, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1563:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1431:149:8" + }, + "payable": false, + "returnParameters": { + "id": 2472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2471, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "1633:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1633:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1632:9:8" + }, + "scope": 2720, + "src": "1405:237:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2480, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "startRevealingPhase", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2476, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2475, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2480, + "src": "1677:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2474, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1677:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1673:18:8" + }, + "payable": false, + "returnParameters": { + "id": 2479, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2478, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2480, + "src": "1709:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2477, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1709:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1708:6:8" + }, + "scope": 2720, + "src": "1645:70:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2487, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reActivate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2482, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2487, + "src": "1741:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1741:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1737:18:8" + }, + "payable": false, + "returnParameters": { + "id": 2486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2485, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2487, + "src": "1773:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2484, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1773:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1772:6:8" + }, + "scope": 2720, + "src": "1718:61:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2494, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claimFailedConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2489, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2494, + "src": "1815:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1815:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1811:18:8" + }, + "payable": false, + "returnParameters": { + "id": 2493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2492, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2494, + "src": "1847:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2491, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1847:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1846:6:8" + }, + "scope": 2720, + "src": "1782:71:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2507, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "finalizeWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2503, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2496, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "1886:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1886:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2498, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "1903:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2497, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1903:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2500, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "1922:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2499, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1922:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2502, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "1941:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2501, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1941:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1882:72:8" + }, + "payable": false, + "returnParameters": { + "id": 2506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2505, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "1972:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2504, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1972:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1971:6:8" + }, + "scope": 2720, + "src": "1856:122:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2514, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategoryWorkClockTimeRef", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2509, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 2514, + "src": "2021:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2508, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2021:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2017:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2512, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2514, + "src": "2059:24:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2511, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2059:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2058:26:8" + }, + "scope": 2720, + "src": "1981:104:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2521, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2517, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2516, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 2521, + "src": "2117:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2515, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2117:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2113:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2520, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2519, + "name": "categoryExist", + "nodeType": "VariableDeclaration", + "scope": 2521, + "src": "2156:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2518, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2156:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2155:20:8" + }, + "scope": 2720, + "src": "2088:88:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2534, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2523, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 2534, + "src": "2203:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2522, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2203:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2199:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2533, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2526, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 2534, + "src": "2241:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2241:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2528, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 2534, + "src": "2256:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2527, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2256:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2530, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 2534, + "src": "2269:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2529, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2269:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2532, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2534, + "src": "2290:24:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2531, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2290:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2240:75:8" + }, + "scope": 2720, + "src": "2179:137:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2543, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2536, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2543, + "src": "2347:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2535, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2347:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2343:20:8" + }, + "payable": false, + "returnParameters": { + "id": 2542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2539, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 2543, + "src": "2386:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2538, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2386:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2541, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 2543, + "src": "2406:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2406:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2385:41:8" + }, + "scope": 2720, + "src": "2319:108:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2550, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerScore", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2545, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "2457:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2457:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2453:20:8" + }, + "payable": false, + "returnParameters": { + "id": 2549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2548, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "2496:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2496:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2495:21:8" + }, + "scope": 2720, + "src": "2430:87:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2555, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getRLCAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2551, + "nodeType": "ParameterList", + "parameters": [], + "src": "2542:2:8" + }, + "payable": false, + "returnParameters": { + "id": 2554, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2553, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 2555, + "src": "2567:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2567:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2566:13:8" + }, + "scope": 2720, + "src": "2520:60:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2562, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "registerToPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2557, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "2607:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2556, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2607:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2606:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2560, + "name": "subscribed", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "2641:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2559, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2641:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2640:17:8" + }, + "scope": 2720, + "src": "2583:75:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2569, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unregisterFromPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2564, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2569, + "src": "2689:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2563, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2689:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2688:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2567, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 2569, + "src": "2723:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2566, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2723:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2722:19:8" + }, + "scope": 2720, + "src": "2661:81:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2576, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "evictWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2571, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2576, + "src": "2769:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2570, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2769:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2765:20:8" + }, + "payable": false, + "returnParameters": { + "id": 2575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2574, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 2576, + "src": "2803:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2573, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2803:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2802:19:8" + }, + "scope": 2720, + "src": "2745:77:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2585, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2578, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2585, + "src": "2850:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2577, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2850:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2580, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2585, + "src": "2867:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2867:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2846:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2583, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2585, + "src": "2923:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2582, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2923:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2922:6:8" + }, + "scope": 2720, + "src": "2825:104:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2594, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2590, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2587, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2594, + "src": "2959:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2586, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2959:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2589, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2594, + "src": "2976:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2588, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2976:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2955:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2592, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2594, + "src": "3032:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2591, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3032:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3031:6:8" + }, + "scope": 2720, + "src": "2932:106:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2603, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seizeForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2596, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "3067:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2595, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3067:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2598, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "3084:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3084:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3063:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2601, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "3140:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2600, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3140:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3139:6:8" + }, + "scope": 2720, + "src": "3041:105:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2612, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "rewardForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2608, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2605, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "3176:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2604, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3176:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2607, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "3193:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2606, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3172:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2611, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2610, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "3249:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2609, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3249:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3248:6:8" + }, + "scope": 2720, + "src": "3149:106:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2623, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2614, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2623, + "src": "3282:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2613, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3282:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2616, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2623, + "src": "3299:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3299:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2618, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2623, + "src": "3316:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3316:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3278:54:8" + }, + "payable": false, + "returnParameters": { + "id": 2622, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2621, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2623, + "src": "3350:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2620, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3350:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3349:6:8" + }, + "scope": 2720, + "src": "3258:98:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2634, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2625, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2634, + "src": "3385:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3385:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2627, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2634, + "src": "3402:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2626, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3402:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2629, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2634, + "src": "3419:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2628, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3419:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3381:54:8" + }, + "payable": false, + "returnParameters": { + "id": 2633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2632, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2634, + "src": "3453:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2631, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3453:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3452:6:8" + }, + "scope": 2720, + "src": "3359:100:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2647, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "rewardForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2636, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "3488:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2635, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3488:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2638, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "3505:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2637, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3505:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2640, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "3524:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2639, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3524:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2642, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "3543:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2641, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3543:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3484:79:8" + }, + "payable": false, + "returnParameters": { + "id": 2646, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2645, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "3581:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2644, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3581:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3580:6:8" + }, + "scope": 2720, + "src": "3462:125:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2660, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seizeForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2649, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "3615:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2648, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3615:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2651, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "3632:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2650, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3632:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2653, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "3651:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3651:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2655, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "3670:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2654, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3670:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3611:79:8" + }, + "payable": false, + "returnParameters": { + "id": 2659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2658, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "3708:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2657, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3708:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3707:6:8" + }, + "scope": 2720, + "src": "3590:124:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2667, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2662, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2667, + "src": "3737:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2661, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3737:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3733:20:8" + }, + "payable": false, + "returnParameters": { + "id": 2666, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2665, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2667, + "src": "3773:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2664, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3773:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3772:6:8" + }, + "scope": 2720, + "src": "3717:62:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2674, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2670, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2669, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2674, + "src": "3803:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3803:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3799:20:8" + }, + "payable": false, + "returnParameters": { + "id": 2673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2672, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2674, + "src": "3839:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2671, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3839:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3838:6:8" + }, + "scope": 2720, + "src": "3782:63:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2683, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2676, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 2683, + "src": "3873:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2675, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3873:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3869:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2679, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2683, + "src": "3911:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2678, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3911:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2681, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 2683, + "src": "3926:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2680, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3926:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3910:31:8" + }, + "scope": 2720, + "src": "3848:94:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2692, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2685, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2692, + "src": "3964:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2684, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3964:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2687, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2692, + "src": "3981:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2686, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3981:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3960:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2691, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2690, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2692, + "src": "4017:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2689, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4017:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4016:6:8" + }, + "scope": 2720, + "src": "3945:78:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2701, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2694, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2701, + "src": "4044:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2693, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4044:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2696, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2701, + "src": "4061:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2695, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4061:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4040:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2700, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2699, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2701, + "src": "4097:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2698, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4097:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4096:6:8" + }, + "scope": 2720, + "src": "4026:77:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2710, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2703, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "4123:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2702, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4123:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2705, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "4140:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4140:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4119:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2708, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "4176:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2707, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4176:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4175:6:8" + }, + "scope": 2720, + "src": "4106:76:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2719, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2712, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2719, + "src": "4204:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2711, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4204:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2714, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2719, + "src": "4221:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2713, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4221:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4200:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2717, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2719, + "src": "4257:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2716, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4257:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4256:6:8" + }, + "scope": 2720, + "src": "4185:78:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 2721, + "src": "50:4217:8" + } + ], + "src": "0:4268:8" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", + "exportedSymbols": { + "IexecHubInterface": [ + 2720 + ] + }, + "id": 2721, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2363, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:8" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 2364, + "nodeType": "ImportDirective", + "scope": 2721, + "sourceUnit": 2810, + "src": "25:24:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 2720, + "linearizedBaseContracts": [ + 2720 + ], + "name": "IexecHubInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 2369, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "attachMarketplace", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2366, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 2369, + "src": "110:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "110:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "106:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2368, + "nodeType": "ParameterList", + "parameters": [], + "src": "146:0:8" + }, + "scope": 2720, + "src": "80:67:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2374, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setCategoriesCreator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2371, + "name": "_categoriesCreator", + "nodeType": "VariableDeclaration", + "scope": 2374, + "src": "183:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2370, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "183:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "179:31:8" + }, + "payable": false, + "returnParameters": { + "id": 2373, + "nodeType": "ParameterList", + "parameters": [], + "src": "218:0:8" + }, + "scope": 2720, + "src": "150:69:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2385, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2376, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 2385, + "src": "251:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2375, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "251:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2378, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 2385, + "src": "268:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2377, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "268:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2380, + "name": "_workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2385, + "src": "292:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2379, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "292:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "247:71:8" + }, + "payable": false, + "returnParameters": { + "id": 2384, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2383, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 2385, + "src": "364:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2382, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "364:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "363:15:8" + }, + "scope": 2720, + "src": "224:155:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2398, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2387, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 2398, + "src": "411:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2386, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "411:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2389, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 2398, + "src": "428:36:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "428:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2391, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 2398, + "src": "468:39:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2390, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "468:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2393, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 2398, + "src": "511:39:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2392, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "511:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "407:144:8" + }, + "payable": false, + "returnParameters": { + "id": 2397, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2396, + "name": "createdWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 2398, + "src": "571:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2395, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "571:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "570:27:8" + }, + "scope": 2720, + "src": "382:216:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2409, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2400, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 2409, + "src": "623:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2399, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "623:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2402, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 2409, + "src": "643:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2401, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "643:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2404, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 2409, + "src": "664:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2403, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "664:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "619:64:8" + }, + "payable": false, + "returnParameters": { + "id": 2408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2407, + "name": "createdApp", + "nodeType": "VariableDeclaration", + "scope": 2409, + "src": "703:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2406, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "703:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "702:20:8" + }, + "scope": 2720, + "src": "601:122:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2420, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2411, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 2420, + "src": "752:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2410, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "752:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2413, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 2420, + "src": "776:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2412, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "776:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2415, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 2420, + "src": "801:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2414, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "801:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "748:76:8" + }, + "payable": false, + "returnParameters": { + "id": 2419, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2418, + "name": "createdDataset", + "nodeType": "VariableDeclaration", + "scope": 2420, + "src": "844:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2417, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "844:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "843:24:8" + }, + "scope": 2720, + "src": "726:142:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2439, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyForWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2435, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2422, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "899:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2421, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "899:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2424, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "926:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2423, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "926:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2426, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "949:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2425, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "949:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2428, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "965:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2427, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "965:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2430, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "985:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2429, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "985:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2432, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "1004:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2431, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1004:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2434, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "1025:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2433, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1025:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "895:151:8" + }, + "payable": false, + "returnParameters": { + "id": 2438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2437, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "1066:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1066:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1065:9:8" + }, + "scope": 2720, + "src": "871:204:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2460, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "emitWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2456, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2441, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1104:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2440, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1104:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2443, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1131:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2442, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1131:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2445, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1153:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1153:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2447, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1206:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2446, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1206:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2449, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1259:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2448, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1259:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2451, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1312:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2450, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1312:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2453, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1331:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2452, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1331:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2455, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1352:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2454, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1352:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1100:273:8" + }, + "payable": false, + "returnParameters": { + "id": 2459, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2458, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "1393:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1393:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1392:9:8" + }, + "scope": 2720, + "src": "1078:324:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2473, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockWorkOrderCost", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2469, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2462, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "1435:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2461, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1435:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2464, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "1457:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2463, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1457:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2466, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "1510:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2465, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1510:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2468, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "1563:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2467, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1563:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1431:149:8" + }, + "payable": false, + "returnParameters": { + "id": 2472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2471, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "1633:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1633:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1632:9:8" + }, + "scope": 2720, + "src": "1405:237:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2480, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "startRevealingPhase", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2476, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2475, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2480, + "src": "1677:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2474, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1677:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1673:18:8" + }, + "payable": false, + "returnParameters": { + "id": 2479, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2478, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2480, + "src": "1709:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2477, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1709:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1708:6:8" + }, + "scope": 2720, + "src": "1645:70:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2487, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reActivate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2482, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2487, + "src": "1741:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1741:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1737:18:8" + }, + "payable": false, + "returnParameters": { + "id": 2486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2485, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2487, + "src": "1773:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2484, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1773:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1772:6:8" + }, + "scope": 2720, + "src": "1718:61:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2494, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claimFailedConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2489, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2494, + "src": "1815:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1815:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1811:18:8" + }, + "payable": false, + "returnParameters": { + "id": 2493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2492, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2494, + "src": "1847:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2491, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1847:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1846:6:8" + }, + "scope": 2720, + "src": "1782:71:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2507, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "finalizeWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2503, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2496, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "1886:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1886:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2498, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "1903:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2497, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1903:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2500, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "1922:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2499, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1922:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2502, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "1941:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2501, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1941:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1882:72:8" + }, + "payable": false, + "returnParameters": { + "id": 2506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2505, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "1972:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2504, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1972:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1971:6:8" + }, + "scope": 2720, + "src": "1856:122:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2514, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategoryWorkClockTimeRef", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2509, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 2514, + "src": "2021:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2508, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2021:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2017:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2512, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2514, + "src": "2059:24:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2511, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2059:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2058:26:8" + }, + "scope": 2720, + "src": "1981:104:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2521, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2517, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2516, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 2521, + "src": "2117:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2515, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2117:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2113:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2520, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2519, + "name": "categoryExist", + "nodeType": "VariableDeclaration", + "scope": 2521, + "src": "2156:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2518, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2156:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2155:20:8" + }, + "scope": 2720, + "src": "2088:88:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2534, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2523, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 2534, + "src": "2203:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2522, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2203:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2199:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2533, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2526, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 2534, + "src": "2241:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2241:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2528, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 2534, + "src": "2256:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2527, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2256:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2530, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 2534, + "src": "2269:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2529, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2269:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2532, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2534, + "src": "2290:24:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2531, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2290:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2240:75:8" + }, + "scope": 2720, + "src": "2179:137:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2543, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2536, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2543, + "src": "2347:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2535, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2347:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2343:20:8" + }, + "payable": false, + "returnParameters": { + "id": 2542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2539, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 2543, + "src": "2386:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2538, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2386:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2541, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 2543, + "src": "2406:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2406:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2385:41:8" + }, + "scope": 2720, + "src": "2319:108:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2550, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerScore", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2545, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "2457:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2457:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2453:20:8" + }, + "payable": false, + "returnParameters": { + "id": 2549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2548, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "2496:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2496:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2495:21:8" + }, + "scope": 2720, + "src": "2430:87:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2555, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getRLCAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2551, + "nodeType": "ParameterList", + "parameters": [], + "src": "2542:2:8" + }, + "payable": false, + "returnParameters": { + "id": 2554, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2553, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 2555, + "src": "2567:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2567:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2566:13:8" + }, + "scope": 2720, + "src": "2520:60:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2562, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "registerToPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2557, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "2607:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2556, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2607:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2606:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2560, + "name": "subscribed", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "2641:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2559, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2641:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2640:17:8" + }, + "scope": 2720, + "src": "2583:75:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2569, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unregisterFromPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2564, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2569, + "src": "2689:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2563, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2689:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2688:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2567, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 2569, + "src": "2723:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2566, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2723:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2722:19:8" + }, + "scope": 2720, + "src": "2661:81:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2576, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "evictWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2571, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2576, + "src": "2769:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2570, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2769:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2765:20:8" + }, + "payable": false, + "returnParameters": { + "id": 2575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2574, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 2576, + "src": "2803:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2573, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2803:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2802:19:8" + }, + "scope": 2720, + "src": "2745:77:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2585, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2578, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2585, + "src": "2850:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2577, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2850:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2580, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2585, + "src": "2867:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2867:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2846:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2583, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2585, + "src": "2923:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2582, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2923:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2922:6:8" + }, + "scope": 2720, + "src": "2825:104:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2594, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2590, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2587, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2594, + "src": "2959:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2586, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2959:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2589, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2594, + "src": "2976:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2588, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2976:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2955:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2592, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2594, + "src": "3032:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2591, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3032:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3031:6:8" + }, + "scope": 2720, + "src": "2932:106:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2603, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seizeForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2596, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "3067:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2595, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3067:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2598, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "3084:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3084:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3063:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2601, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "3140:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2600, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3140:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3139:6:8" + }, + "scope": 2720, + "src": "3041:105:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2612, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "rewardForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2608, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2605, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "3176:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2604, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3176:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2607, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "3193:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2606, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3193:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3172:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2611, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2610, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "3249:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2609, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3249:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3248:6:8" + }, + "scope": 2720, + "src": "3149:106:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2623, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2614, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2623, + "src": "3282:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2613, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3282:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2616, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2623, + "src": "3299:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3299:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2618, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2623, + "src": "3316:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3316:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3278:54:8" + }, + "payable": false, + "returnParameters": { + "id": 2622, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2621, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2623, + "src": "3350:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2620, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3350:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3349:6:8" + }, + "scope": 2720, + "src": "3258:98:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2634, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2625, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2634, + "src": "3385:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3385:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2627, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2634, + "src": "3402:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2626, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3402:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2629, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2634, + "src": "3419:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2628, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3419:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3381:54:8" + }, + "payable": false, + "returnParameters": { + "id": 2633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2632, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2634, + "src": "3453:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2631, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3453:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3452:6:8" + }, + "scope": 2720, + "src": "3359:100:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2647, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "rewardForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2636, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "3488:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2635, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3488:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2638, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "3505:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2637, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3505:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2640, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "3524:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2639, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3524:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2642, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "3543:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2641, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3543:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3484:79:8" + }, + "payable": false, + "returnParameters": { + "id": 2646, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2645, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "3581:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2644, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3581:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3580:6:8" + }, + "scope": 2720, + "src": "3462:125:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2660, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seizeForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2649, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "3615:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2648, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3615:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2651, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "3632:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2650, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3632:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2653, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "3651:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3651:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2655, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "3670:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2654, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3670:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3611:79:8" + }, + "payable": false, + "returnParameters": { + "id": 2659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2658, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "3708:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2657, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3708:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3707:6:8" + }, + "scope": 2720, + "src": "3590:124:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2667, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2662, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2667, + "src": "3737:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2661, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3737:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3733:20:8" + }, + "payable": false, + "returnParameters": { + "id": 2666, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2665, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2667, + "src": "3773:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2664, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3773:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3772:6:8" + }, + "scope": 2720, + "src": "3717:62:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2674, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2670, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2669, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2674, + "src": "3803:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3803:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3799:20:8" + }, + "payable": false, + "returnParameters": { + "id": 2673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2672, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2674, + "src": "3839:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2671, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3839:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3838:6:8" + }, + "scope": 2720, + "src": "3782:63:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2683, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2676, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 2683, + "src": "3873:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2675, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3873:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3869:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2679, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2683, + "src": "3911:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2678, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3911:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2681, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 2683, + "src": "3926:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2680, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3926:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3910:31:8" + }, + "scope": 2720, + "src": "3848:94:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2692, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2685, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2692, + "src": "3964:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2684, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3964:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2687, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2692, + "src": "3981:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2686, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3981:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3960:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2691, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2690, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2692, + "src": "4017:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2689, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4017:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4016:6:8" + }, + "scope": 2720, + "src": "3945:78:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2701, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2694, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2701, + "src": "4044:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2693, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4044:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2696, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2701, + "src": "4061:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2695, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4061:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4040:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2700, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2699, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2701, + "src": "4097:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2698, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4097:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4096:6:8" + }, + "scope": 2720, + "src": "4026:77:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2710, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2703, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "4123:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2702, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4123:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2705, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "4140:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4140:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4119:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2708, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "4176:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2707, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4176:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4175:6:8" + }, + "scope": 2720, + "src": "4106:76:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2719, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2712, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2719, + "src": "4204:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2711, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4204:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2714, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2719, + "src": "4221:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2713, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4221:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4200:37:8" + }, + "payable": false, + "returnParameters": { + "id": 2718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2717, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2719, + "src": "4257:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2716, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4257:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4256:6:8" + }, + "scope": 2720, + "src": "4185:78:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 2721, + "src": "50:4217:8" + } + ], + "src": "0:4268:8" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T18:32:30.793Z" +} \ No newline at end of file diff --git a/build/contracts/IexecLib.json b/build/contracts/IexecLib.json new file mode 100644 index 00000000..d954cfeb --- /dev/null +++ b/build/contracts/IexecLib.json @@ -0,0 +1,2093 @@ +{ + "contractName": "IexecLib", + "abi": [], + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600080fd00a165627a7a7230582069f6cd334327937702c5c42c10d0f59b14b80255d56eab43987de4bcd8ec7ff90029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146060604052600080fd00a165627a7a7230582069f6cd334327937702c5c42c10d0f59b14b80255d56eab43987de4bcd8ec7ff90029", + "sourceMap": "26:3268: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:3268: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, // Failled 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 consensusTimout;\n\t\tuint256 winnerCount;\n\t\taddress[] contributors;\n\t\taddress workerpoolOwner;\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 = failled/total\n\t{\n\t\tuint256 success;\n\t\tuint256 failled;\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": [ + 2809 + ] + }, + "id": 2810, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2722, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 2809, + "linearizedBaseContracts": [ + 2809 + ], + "name": "IexecLib", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IexecLib.MarketOrderDirectionEnum", + "id": 2727, + "members": [ + { + "id": 2723, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "318:5:9" + }, + { + "id": 2724, + "name": "BID", + "nodeType": "EnumValue", + "src": "327:3:9" + }, + { + "id": 2725, + "name": "ASK", + "nodeType": "EnumValue", + "src": "334:3:9" + }, + { + "id": 2726, + "name": "CLOSED", + "nodeType": "EnumValue", + "src": "341:6:9" + } + ], + "name": "MarketOrderDirectionEnum", + "nodeType": "EnumDefinition", + "src": "283:67:9" + }, + { + "canonicalName": "IexecLib.MarketOrder", + "id": 2744, + "members": [ + { + "constant": false, + "id": 2729, + "name": "direction", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "376:34:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 2728, + "name": "MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2727, + "src": "376:24:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2731, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "414:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2730, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "414:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2733, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "462:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2732, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "462:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2735, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "501:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "501:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2737, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "548:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "548:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2739, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "608:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2738, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "608:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2741, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "658:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2740, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "658:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2743, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "713:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2742, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "713:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "MarketOrder", + "nodeType": "StructDefinition", + "scope": 2809, + "src": "352:463:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.WorkOrderStatusEnum", + "id": 2750, + "members": [ + { + "id": 2745, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "1085:5:9" + }, + { + "id": 2746, + "name": "ACTIVE", + "nodeType": "EnumValue", + "src": "1150:6:9" + }, + { + "id": 2747, + "name": "REVEALING", + "nodeType": "EnumValue", + "src": "1203:9:9" + }, + { + "id": 2748, + "name": "CLAIMED", + "nodeType": "EnumValue", + "src": "1245:7:9" + }, + { + "id": 2749, + "name": "COMPLETED", + "nodeType": "EnumValue", + "src": "1279:9:9" + } + ], + "name": "WorkOrderStatusEnum", + "nodeType": "EnumDefinition", + "src": "1055:259:9" + }, + { + "canonicalName": "IexecLib.Consensus", + "id": 2770, + "members": [ + { + "constant": false, + "id": 2752, + "name": "poolReward", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1734:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2751, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1734:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2754, + "name": "stakeAmount", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1756:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2753, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1756:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2756, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1779:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2755, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1779:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2758, + "name": "revealDate", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1800:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2757, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1800:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2760, + "name": "revealCounter", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1822:21:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2759, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1822:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2762, + "name": "consensusTimout", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1847:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2761, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1847:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2764, + "name": "winnerCount", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1874:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2763, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1874:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2767, + "name": "contributors", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1897:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + }, + "typeName": { + "baseType": { + "id": 2765, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1897:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2766, + "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": 2769, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1923:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2768, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1923:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Consensus", + "nodeType": "StructDefinition", + "scope": 2809, + "src": "1712:238:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.ContributionStatusEnum", + "id": 2776, + "members": [ + { + "id": 2771, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "2381:5:9" + }, + { + "id": 2772, + "name": "AUTHORIZED", + "nodeType": "EnumValue", + "src": "2390:10:9" + }, + { + "id": 2773, + "name": "CONTRIBUTED", + "nodeType": "EnumValue", + "src": "2404:11:9" + }, + { + "id": 2774, + "name": "PROVED", + "nodeType": "EnumValue", + "src": "2419:6:9" + }, + { + "id": 2775, + "name": "REJECTED", + "nodeType": "EnumValue", + "src": "2429:8:9" + } + ], + "name": "ContributionStatusEnum", + "nodeType": "EnumDefinition", + "src": "2348:92:9" + }, + { + "canonicalName": "IexecLib.Contribution", + "id": 2789, + "members": [ + { + "constant": false, + "id": 2778, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 2789, + "src": "2467:29:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 2777, + "name": "ContributionStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2776, + "src": "2467:22:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2780, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 2789, + "src": "2500:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2779, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2500:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2782, + "name": "resultSign", + "nodeType": "VariableDeclaration", + "scope": 2789, + "src": "2522:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2781, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2522:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2784, + "name": "enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 2789, + "src": "2544:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2783, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2544:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2786, + "name": "score", + "nodeType": "VariableDeclaration", + "scope": 2789, + "src": "2572:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2572:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2788, + "name": "weight", + "nodeType": "VariableDeclaration", + "scope": 2789, + "src": "2589:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2787, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2589:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Contribution", + "nodeType": "StructDefinition", + "scope": 2809, + "src": "2442:165:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.Account", + "id": 2794, + "members": [ + { + "constant": false, + "id": 2791, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2794, + "src": "3025:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3025:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2793, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 2794, + "src": "3042:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2792, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3042:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 2809, + "src": "3005:55:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.ContributionHistory", + "id": 2799, + "members": [ + { + "constant": false, + "id": 2796, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 2799, + "src": "3145:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2795, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3145:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2798, + "name": "failled", + "nodeType": "VariableDeclaration", + "scope": 2799, + "src": "3164:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2797, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3164:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "ContributionHistory", + "nodeType": "StructDefinition", + "scope": 2809, + "src": "3063:120:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.Category", + "id": 2808, + "members": [ + { + "constant": false, + "id": 2801, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 2808, + "src": "3207:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2800, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3207:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2803, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 2808, + "src": "3224:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + }, + "typeName": { + "id": 2802, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3224:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2805, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 2808, + "src": "3240:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + }, + "typeName": { + "id": 2804, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3240:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2807, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2808, + "src": "3263:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2806, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3263:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Category", + "nodeType": "StructDefinition", + "scope": 2809, + "src": "3186:105:9", + "visibility": "public" + } + ], + "scope": 2810, + "src": "26:3268:9" + } + ], + "src": "0:3295:9" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "exportedSymbols": { + "IexecLib": [ + 2809 + ] + }, + "id": 2810, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2722, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 2809, + "linearizedBaseContracts": [ + 2809 + ], + "name": "IexecLib", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IexecLib.MarketOrderDirectionEnum", + "id": 2727, + "members": [ + { + "id": 2723, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "318:5:9" + }, + { + "id": 2724, + "name": "BID", + "nodeType": "EnumValue", + "src": "327:3:9" + }, + { + "id": 2725, + "name": "ASK", + "nodeType": "EnumValue", + "src": "334:3:9" + }, + { + "id": 2726, + "name": "CLOSED", + "nodeType": "EnumValue", + "src": "341:6:9" + } + ], + "name": "MarketOrderDirectionEnum", + "nodeType": "EnumDefinition", + "src": "283:67:9" + }, + { + "canonicalName": "IexecLib.MarketOrder", + "id": 2744, + "members": [ + { + "constant": false, + "id": 2729, + "name": "direction", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "376:34:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 2728, + "name": "MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2727, + "src": "376:24:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2731, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "414:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2730, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "414:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2733, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "462:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2732, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "462:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2735, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "501:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "501:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2737, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "548:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "548:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2739, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "608:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2738, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "608:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2741, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "658:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2740, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "658:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2743, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "713:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2742, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "713:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "MarketOrder", + "nodeType": "StructDefinition", + "scope": 2809, + "src": "352:463:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.WorkOrderStatusEnum", + "id": 2750, + "members": [ + { + "id": 2745, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "1085:5:9" + }, + { + "id": 2746, + "name": "ACTIVE", + "nodeType": "EnumValue", + "src": "1150:6:9" + }, + { + "id": 2747, + "name": "REVEALING", + "nodeType": "EnumValue", + "src": "1203:9:9" + }, + { + "id": 2748, + "name": "CLAIMED", + "nodeType": "EnumValue", + "src": "1245:7:9" + }, + { + "id": 2749, + "name": "COMPLETED", + "nodeType": "EnumValue", + "src": "1279:9:9" + } + ], + "name": "WorkOrderStatusEnum", + "nodeType": "EnumDefinition", + "src": "1055:259:9" + }, + { + "canonicalName": "IexecLib.Consensus", + "id": 2770, + "members": [ + { + "constant": false, + "id": 2752, + "name": "poolReward", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1734:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2751, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1734:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2754, + "name": "stakeAmount", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1756:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2753, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1756:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2756, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1779:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2755, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1779:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2758, + "name": "revealDate", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1800:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2757, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1800:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2760, + "name": "revealCounter", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1822:21:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2759, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1822:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2762, + "name": "consensusTimout", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1847:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2761, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1847:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2764, + "name": "winnerCount", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1874:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2763, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1874:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2767, + "name": "contributors", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1897:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + }, + "typeName": { + "baseType": { + "id": 2765, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1897:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2766, + "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": 2769, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 2770, + "src": "1923:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2768, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1923:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Consensus", + "nodeType": "StructDefinition", + "scope": 2809, + "src": "1712:238:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.ContributionStatusEnum", + "id": 2776, + "members": [ + { + "id": 2771, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "2381:5:9" + }, + { + "id": 2772, + "name": "AUTHORIZED", + "nodeType": "EnumValue", + "src": "2390:10:9" + }, + { + "id": 2773, + "name": "CONTRIBUTED", + "nodeType": "EnumValue", + "src": "2404:11:9" + }, + { + "id": 2774, + "name": "PROVED", + "nodeType": "EnumValue", + "src": "2419:6:9" + }, + { + "id": 2775, + "name": "REJECTED", + "nodeType": "EnumValue", + "src": "2429:8:9" + } + ], + "name": "ContributionStatusEnum", + "nodeType": "EnumDefinition", + "src": "2348:92:9" + }, + { + "canonicalName": "IexecLib.Contribution", + "id": 2789, + "members": [ + { + "constant": false, + "id": 2778, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 2789, + "src": "2467:29:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 2777, + "name": "ContributionStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2776, + "src": "2467:22:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2780, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 2789, + "src": "2500:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2779, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2500:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2782, + "name": "resultSign", + "nodeType": "VariableDeclaration", + "scope": 2789, + "src": "2522:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2781, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2522:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2784, + "name": "enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 2789, + "src": "2544:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2783, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2544:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2786, + "name": "score", + "nodeType": "VariableDeclaration", + "scope": 2789, + "src": "2572:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2572:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2788, + "name": "weight", + "nodeType": "VariableDeclaration", + "scope": 2789, + "src": "2589:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2787, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2589:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Contribution", + "nodeType": "StructDefinition", + "scope": 2809, + "src": "2442:165:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.Account", + "id": 2794, + "members": [ + { + "constant": false, + "id": 2791, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2794, + "src": "3025:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3025:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2793, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 2794, + "src": "3042:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2792, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3042:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 2809, + "src": "3005:55:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.ContributionHistory", + "id": 2799, + "members": [ + { + "constant": false, + "id": 2796, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 2799, + "src": "3145:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2795, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3145:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2798, + "name": "failled", + "nodeType": "VariableDeclaration", + "scope": 2799, + "src": "3164:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2797, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3164:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "ContributionHistory", + "nodeType": "StructDefinition", + "scope": 2809, + "src": "3063:120:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.Category", + "id": 2808, + "members": [ + { + "constant": false, + "id": 2801, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 2808, + "src": "3207:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2800, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3207:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2803, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 2808, + "src": "3224:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + }, + "typeName": { + "id": 2802, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3224:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2805, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 2808, + "src": "3240:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + }, + "typeName": { + "id": 2804, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3240:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2807, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2808, + "src": "3263:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2806, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3263:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Category", + "nodeType": "StructDefinition", + "scope": 2809, + "src": "3186:105:9", + "visibility": "public" + } + ], + "scope": 2810, + "src": "26:3268:9" + } + ], + "src": "0:3295:9" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T18:32:30.794Z" +} \ No newline at end of file diff --git a/build/contracts/Marketplace.json b/build/contracts/Marketplace.json new file mode 100644 index 00000000..cadc44a1 --- /dev/null +++ b/build/contracts/Marketplace.json @@ -0,0 +1,12547 @@ +{ + "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" + }, + { + "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" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b604051602080610a97833981016040528080519150819050600160a060020a038116151561003c57600080fd5b60008054600160a060020a03909216600160a060020a031992831681179091556001805490921617905550610a21806100766000396000f3006060604052600436106100a05763ffffffff60e060020a60003504166302a63c2881146100a557806324026bfb146100e1578063270a8ef71461010957806338c4090b1461011f5780633ab67956146101355780634cfddcfb146101ac57806355d66c3e146101c257806360f75f3b146101f457806369c7c1801461020a5780636b14ea361461021d578063ea0b259014610230578063eb3721be14610261575b600080fd5b34156100b057600080fd5b6100cd600435600160a060020a0360243581169060443516610277565b604051901515815260200160405180910390f35b34156100ec57600080fd5b6100f76004356103ec565b60405190815260200160405180910390f35b341561011457600080fd5b6100cd600435610418565b341561012a57600080fd5b6100f760043561042e565b341561014057600080fd5b61014b60043561045b565b6040518089600381111561015b57fe5b60ff1681526020810198909852506040808801969096526060870194909452608086019290925260a0850152600160a060020a0390811660c08501521660e083015261010090910191505180910390f35b34156101b757600080fd5b6100f76004356104b1565b34156101cd57600080fd5b6101d86004356104dd565b604051600160a060020a03909116815260200160405180910390f35b34156101ff57600080fd5b6100cd600435610512565b341561021557600080fd5b6100f7610648565b341561022857600080fd5b6100f761064e565b341561023b57600080fd5b6100f760ff60043516602435604435606435600160a060020a036084351660a435610653565b341561026c57600080fd5b61014b6004356108d5565b60008054819033600160a060020a0390811691161461029557600080fd5b5060008481526003602052604090206002815460ff1660038111156102b657fe5b146102c057600080fd5b6005810154600090116102d257600080fd5b6006810154600160a060020a038481169116146102ee57600080fd5b600581015461030490600163ffffffff61095516565b60058201819055151561031d57805460ff191660031781555b6001546003820154600160a060020a039091169063ac26109e90869060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561037c57600080fd5b5af1151561038957600080fd5b50505060405180519050151561039e57600080fd5b7fe15b7f1dd90867f2f9084033184322ae15a1572828d3d2a5a2dca5f6038332ba8585604051918252600160a060020a031660208201526040908101905180910390a1506001949350505050565b60006103f782610418565b151561040257600080fd5b5060009081526003602052604090206002015490565b6000908152600360205260408120600101541190565b600061043982610418565b151561044457600080fd5b506000908152600360208190526040909120015490565b60036020819052600091825260409091208054600182015460028301549383015460048401546005850154600686015460079096015460ff9095169693959394929391929091600160a060020a03908116911688565b60006104bc82610418565b15156104c757600080fd5b5060009081526003602052604090206001015490565b60006104e882610418565b15156104f357600080fd5b50600090815260036020526040902060070154600160a060020a031690565b60008181526003602052604081206002815460ff16600381111561053257fe5b14156100a057600781015433600160a060020a0390811691161461055557600080fd5b600154600782015460058301546003840154600160a060020a039384169363b7b6e97893169161059c9161059090601e63ffffffff61096716565b9063ffffffff61097c16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156105df57600080fd5b5af115156105ec57600080fd5b50505060405180519050151561060157600080fd5b805460ff191660031781557f9a05087bc2e92d4e31e031af3ffb9da7e4dffd4be5573811330541cc559315fe8360405190815260200160405180910390a150600192915050565b60025481565b601e81565b6001546000908190600160a060020a03166332baa8d98860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156106a057600080fd5b5af115156106ad57600080fd5b5050506040518051905015156106c257600080fd5b600083116106cf57600080fd5b6002546106e390600163ffffffff6109b216565b6002819055600090815260036020819052604090912080549092508991839160ff191690600190849081111561071557fe5b021790555060018101879055600280820187905560038201869055600482018490556005820184905588600381111561074a57fe5b14156100a05733600160a060020a031684600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561079757600080fd5b5af115156107a457600080fd5b50505060405180519050600160a060020a03161415156107c357600080fd5b600154600160a060020a031663ac26109e336107ea866105908a601e63ffffffff61096716565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561082d57600080fd5b5af1151561083a57600080fd5b50505060405180519050151561084f57600080fd5b600681018054600160a060020a0380871673ffffffffffffffffffffffffffffffffffffffff199283161790925560078301805433909316929091169190911790557fb0be9c5566c7b426b2e5378a75c24af27818f33e0b6aa5ea6208562c144c98f160025460405190815260200160405180910390a150506002549695505050505050565b60008060008060008060008060006108ec8a610418565b15156108f757600080fd5b505050600096875250506003602081905260409095208054600182015460028301549783015460048401546005850154600686015460079096015460ff9095169b939a995091975095509350600160a060020a039283169290911690565b60008282111561096157fe5b50900390565b6000610975838360646109c1565b9392505050565b60008083151561098f57600091506109ab565b5082820282848281151561099f57fe5b04146109a757fe5b8091505b5092915050565b6000828201838110156109a757fe5b60006109d66109d0858561097c565b836109de565b949350505050565b60008082848115156109ec57fe5b049493505050505600a165627a7a72305820b5de7138f1918cc0e0c0729e89a3e080386e473f5ecf2f81ee41f2c477cefafb0029", + "deployedBytecode": "0x6060604052600436106100a05763ffffffff60e060020a60003504166302a63c2881146100a557806324026bfb146100e1578063270a8ef71461010957806338c4090b1461011f5780633ab67956146101355780634cfddcfb146101ac57806355d66c3e146101c257806360f75f3b146101f457806369c7c1801461020a5780636b14ea361461021d578063ea0b259014610230578063eb3721be14610261575b600080fd5b34156100b057600080fd5b6100cd600435600160a060020a0360243581169060443516610277565b604051901515815260200160405180910390f35b34156100ec57600080fd5b6100f76004356103ec565b60405190815260200160405180910390f35b341561011457600080fd5b6100cd600435610418565b341561012a57600080fd5b6100f760043561042e565b341561014057600080fd5b61014b60043561045b565b6040518089600381111561015b57fe5b60ff1681526020810198909852506040808801969096526060870194909452608086019290925260a0850152600160a060020a0390811660c08501521660e083015261010090910191505180910390f35b34156101b757600080fd5b6100f76004356104b1565b34156101cd57600080fd5b6101d86004356104dd565b604051600160a060020a03909116815260200160405180910390f35b34156101ff57600080fd5b6100cd600435610512565b341561021557600080fd5b6100f7610648565b341561022857600080fd5b6100f761064e565b341561023b57600080fd5b6100f760ff60043516602435604435606435600160a060020a036084351660a435610653565b341561026c57600080fd5b61014b6004356108d5565b60008054819033600160a060020a0390811691161461029557600080fd5b5060008481526003602052604090206002815460ff1660038111156102b657fe5b146102c057600080fd5b6005810154600090116102d257600080fd5b6006810154600160a060020a038481169116146102ee57600080fd5b600581015461030490600163ffffffff61095516565b60058201819055151561031d57805460ff191660031781555b6001546003820154600160a060020a039091169063ac26109e90869060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561037c57600080fd5b5af1151561038957600080fd5b50505060405180519050151561039e57600080fd5b7fe15b7f1dd90867f2f9084033184322ae15a1572828d3d2a5a2dca5f6038332ba8585604051918252600160a060020a031660208201526040908101905180910390a1506001949350505050565b60006103f782610418565b151561040257600080fd5b5060009081526003602052604090206002015490565b6000908152600360205260408120600101541190565b600061043982610418565b151561044457600080fd5b506000908152600360208190526040909120015490565b60036020819052600091825260409091208054600182015460028301549383015460048401546005850154600686015460079096015460ff9095169693959394929391929091600160a060020a03908116911688565b60006104bc82610418565b15156104c757600080fd5b5060009081526003602052604090206001015490565b60006104e882610418565b15156104f357600080fd5b50600090815260036020526040902060070154600160a060020a031690565b60008181526003602052604081206002815460ff16600381111561053257fe5b14156100a057600781015433600160a060020a0390811691161461055557600080fd5b600154600782015460058301546003840154600160a060020a039384169363b7b6e97893169161059c9161059090601e63ffffffff61096716565b9063ffffffff61097c16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156105df57600080fd5b5af115156105ec57600080fd5b50505060405180519050151561060157600080fd5b805460ff191660031781557f9a05087bc2e92d4e31e031af3ffb9da7e4dffd4be5573811330541cc559315fe8360405190815260200160405180910390a150600192915050565b60025481565b601e81565b6001546000908190600160a060020a03166332baa8d98860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156106a057600080fd5b5af115156106ad57600080fd5b5050506040518051905015156106c257600080fd5b600083116106cf57600080fd5b6002546106e390600163ffffffff6109b216565b6002819055600090815260036020819052604090912080549092508991839160ff191690600190849081111561071557fe5b021790555060018101879055600280820187905560038201869055600482018490556005820184905588600381111561074a57fe5b14156100a05733600160a060020a031684600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561079757600080fd5b5af115156107a457600080fd5b50505060405180519050600160a060020a03161415156107c357600080fd5b600154600160a060020a031663ac26109e336107ea866105908a601e63ffffffff61096716565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561082d57600080fd5b5af1151561083a57600080fd5b50505060405180519050151561084f57600080fd5b600681018054600160a060020a0380871673ffffffffffffffffffffffffffffffffffffffff199283161790925560078301805433909316929091169190911790557fb0be9c5566c7b426b2e5378a75c24af27818f33e0b6aa5ea6208562c144c98f160025460405190815260200160405180910390a150506002549695505050505050565b60008060008060008060008060006108ec8a610418565b15156108f757600080fd5b505050600096875250506003602081905260409095208054600182015460028301549783015460048401546005850154600686015460079096015460ff9095169b939a995091975095509350600160a060020a039283169290911690565b60008282111561096157fe5b50900390565b6000610975838360646109c1565b9392505050565b60008083151561098f57600091506109ab565b5082820282848281151561099f57fe5b04146109a757fe5b8091505b5092915050565b6000828201838110156109a757fe5b60006109d66109d0858561097c565b836109de565b949350505050565b60008082848115156109ec57fe5b049493505050505600a165627a7a72305820b5de7138f1918cc0e0c0729e89a3e080386e473f5ecf2f81ee41f2c477cefafb0029", + "sourceMap": "138:5063:10:-;;;628:96;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;628:96:10;;-1:-1:-1;;;;;;334:30:7;;;;326:39;;;;;;369:15;:36;;-1:-1:-1;;;;;369:36:7;;;-1:-1:-1;;;;;;369:36:7;;;;;;;;;409:55;;;;;;;;-1:-1:-1;138:5063:10;;;;;;", + "deployedSourceMap": "138:5063:10:-;;;;;;;;;-1:-1:-1;;;138:5063:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2622:702;;;;;;;;;;;;-1:-1:-1;;;;;2622:702:10;;;;;;;;;;;;;;;;;;;;;;;;;;;4171:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3327:156;;;;;;;;;;;;;;3506:211;;;;;;;;;;;;;;299:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;299:55:10;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;299:55:10;;;;;;;;;;;;;;;;;-1:-1:-1;299:55:10;;;;;;3952:217;;;;;;;;;;;;;;3719:231;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3719:231:10;;;;;;;;;;;;;;1906:679;;;;;;;;;;;;;;240:56;;;;;;;;;;;;358:45;;;;;;;;;;;;755:1148;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;755:1148:10;;;;;;;4384:814;;;;;;;;;;;;;;2622:702;2756:4;234:15:7;;2756:4:10;;220:10:7;-1:-1:-1;;;;;220:29:7;;;234:15;;220:29;212:38;;;;;;-1:-1:-1;2810:28:10;;;;:11;:28;;;;;2876:37;2850:21;;;;:63;;;;;;;;;2842:72;;;;;;2926:21;;;;2952:1;2926:27;;2918:36;;;;;;2966:22;;;;-1:-1:-1;;;;;2966:37:10;;;:22;;:37;2958:46;;;;;;3033:21;;;;:28;;3059:1;3033:28;:25;:28;:::i;:::-;3009:21;;;:52;;;3069:26;3065:108;;;3104:64;;-1:-1:-1;;3104:64:10;3128:40;3104:64;;;3065:108;3184:17;;3227;;;;-1:-1:-1;;;;;3184:17:10;;;;:30;;3215:10;;3184:61;;-1:-1:-1;;;3184:61:10;;;;;;-1:-1:-1;;;;;3184:61:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3176:70;;;;;;;;3255:50;3277:15;3294:10;3255:50;;;;;-1:-1:-1;;;;;3255:50:10;;;;;;;;;;;;;;;;-1:-1:-1;3316:4:10;;2622:702;-1:-1:-1;;;;2622:702:10:o;4171:211::-;4246:7;4268:36;4288:15;4268:19;:36::i;:::-;4260:45;;;;;;;;-1:-1:-1;4344:28:10;;;;:11;:28;;;;;:34;;;;4171:211::o;3327:156::-;3403:21;3438:28;;;:11;:28;;;;;:37;;;:41;;3327:156::o;3506:211::-;3581:7;3603:36;3623:15;3603:19;:36::i;:::-;3595:45;;;;;;;;-1:-1:-1;3679:28:10;;;;:11;:28;;;;;;;;:34;;;3506:211::o;299:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;299:55:10;;;;;;:::o;3952:217::-;4030:7;4052:36;4072:15;4052:19;:36::i;:::-;4044:45;;;;;;;;-1:-1:-1;4128:28:10;;;;:11;:28;;;;;:37;;;;3952:217::o;3719:231::-;3804:7;3826:36;3846:15;3826:19;:36::i;:::-;3818:45;;;;;;;;-1:-1:-1;3902:28:10;;;;:11;:28;;;;;:44;;;-1:-1:-1;;;;;3902:44:10;;3719:231::o;1906:679::-;1973:4;2027:28;;;:11;:28;;;;;2088:37;2063:21;;;;:62;;;;;;;;;2059:397;;;2142:27;;;;2173:10;-1:-1:-1;;;;;2142:41:10;;;:27;;:41;2134:50;;;;;;2197:17;;2230:27;;;;2309:21;;;;2259:17;;;;-1:-1:-1;;;;;2197:17:10;;;;:32;;2230:27;;2259:72;;:45;;401:2;2259:45;:28;:45;:::i;:::-;:49;:72;:49;:72;:::i;:::-;2197:135;;-1:-1:-1;;;2197:135:10;;;;;;-1:-1:-1;;;;;2197:135:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:144;;;;;;;;2459:64;;-1:-1:-1;;2459:64:10;2483:40;2459:64;;;2532:34;2550:15;2532:34;;;;;;;;;;;;;;-1:-1:-1;2577:4:10;;1906:679;-1:-1:-1;;1906:679:10:o;240:56::-;;;;:::o;358:45::-;401:2;358:45;:::o;755:1148::-;966:17;;947:4;;;;-1:-1:-1;;;;;966:17:10;:34;1001:9;966:45;;-1:-1:-1;;;966:45:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;958:54;;;;;;;;1033:1;1024:10;;1016:19;;;;;;1054:12;;:19;;1071:1;1054:19;:16;:19;:::i;:::-;1039:12;:34;;;1123:25;;;;:11;:25;;;;;;;;1152:39;;1123:25;;-1:-1:-1;1181:10:10;;1123:25;;-1:-1:-1;;1152:39:10;;;;1181:10;;1152:39;;;;;;;;;;;-1:-1:-1;1195:20:10;;;:38;;;1237:17;;;;:35;;;1276:17;;;:35;;;1315:18;;;:36;;;1355:21;;;:36;;;1400:10;:51;;;;;;;;;1396:440;;;1505:10;-1:-1:-1;;;;;1468:47:10;1479:11;-1:-1:-1;;;;;1468:31:10;;:33;;;;;-1:-1:-1;;;1468:33:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1468:47:10;;1460:56;;;;;;;;1530:17;;-1:-1:-1;;;;;1530:17:10;:30;1561:10;1573:47;1612:7;1573:34;:6;401:2;1573:34;:17;:34;:::i;:47::-;1530:91;;-1:-1:-1;;;1530:91:10;;;;;;-1:-1:-1;;;;;1530:91:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1522:100;;;;;;;;1689:22;;;:41;;-1:-1:-1;;;;;1689:41:10;;;-1:-1:-1;;1689:41:10;;;;;;;1735:27;;;:40;;1765:10;1735:40;;;;;;;;;;;;;1844:32;1863:12;;1844:32;;;;;;;;;;;;;;-1:-1:-1;;1887:12:10;;;755:1148;-1:-1:-1;;;;;;755:1148:10:o;4384:814::-;4458:43;4505:16;4552:13;4590;4636:14;4695:17;4744:18;4798:23;4905:40;4836:36;4856:15;4836:19;:36::i;:::-;4828:45;;;;;;;;-1:-1:-1;;;4948:28:10;;;;-1:-1:-1;;4948:11:10;:28;;;;;;;;4992:21;;;5018:20;;;5043:17;;;;5065;;;;5087:18;;;;5110:21;;;;5136:22;;;;5163:27;;;;;4992:21;;;;;5018:20;;5043:17;-1:-1:-1;5065:17:10;;-1:-1:-1;5087:18:10;-1:-1:-1;5110:21:10;-1:-1:-1;;;;;;5136:22:10;;;;5163:27;;;;4384: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\";\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\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}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", + "exportedSymbols": { + "Marketplace": [ + 3288 + ] + }, + "id": 3289, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2811, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:10" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 2812, + "nodeType": "ImportDirective", + "scope": 3289, + "sourceUnit": 2810, + "src": "25:24:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 2813, + "nodeType": "ImportDirective", + "scope": 3289, + "sourceUnit": 2362, + "src": "50:32:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", + "file": "./WorkerPool.sol", + "id": 2814, + "nodeType": "ImportDirective", + "scope": 3289, + "sourceUnit": 5820, + "src": "83:26:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 2815, + "nodeType": "ImportDirective", + "scope": 3289, + "sourceUnit": 3686, + "src": "110:26:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 2816, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2361, + "src": "162:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2361", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 2817, + "nodeType": "InheritanceSpecifier", + "src": "162:16:10" + } + ], + "contractDependencies": [ + 2361 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3288, + "linearizedBaseContracts": [ + 3288, + 2361 + ], + "name": "Marketplace", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 2820, + "libraryName": { + "contractScope": null, + "id": 2818, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3685, + "src": "188:10:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3685", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "182:29:10", + "typeName": { + "id": 2819, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "203:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 2822, + "name": "m_orderCount", + "nodeType": "VariableDeclaration", + "scope": 3288, + "src": "240:56:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2821, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "240:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2826, + "name": "m_orderBook", + "nodeType": "VariableDeclaration", + "scope": 3288, + "src": "299:55:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + }, + "typeName": { + "id": 2825, + "keyType": { + "id": 2823, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "307:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "299:36:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 2824, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2744, + "src": "314:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 2829, + "name": "ASK_STAKE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 3288, + "src": "358:45:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2827, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "358:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3330", + "id": 2828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "401:2:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": "Events", + "id": 2833, + "name": "MarketOrderCreated", + "nodeType": "EventDefinition", + "parameters": { + "id": 2832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2831, + "indexed": false, + "name": "marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2833, + "src": "456:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2830, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "456:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "455:21:10" + }, + "src": "428:49:10" + }, + { + "anonymous": false, + "documentation": null, + "id": 2837, + "name": "MarketOrderClosed", + "nodeType": "EventDefinition", + "parameters": { + "id": 2836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2835, + "indexed": false, + "name": "marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2837, + "src": "507:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2834, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "507:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "506:21:10" + }, + "src": "479:49:10" + }, + { + "anonymous": false, + "documentation": null, + "id": 2843, + "name": "MarketOrderAskConsume", + "nodeType": "EventDefinition", + "parameters": { + "id": 2842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2839, + "indexed": false, + "name": "marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2843, + "src": "558:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2838, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "558:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2841, + "indexed": false, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 2843, + "src": "579:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "579:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "557:40:10" + }, + "src": "530:68:10" + }, + { + "body": { + "id": 2851, + "nodeType": "Block", + "src": "720:4:10", + "statements": [] + }, + "documentation": "Constructor", + "id": 2852, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2848, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2845, + "src": "693:16:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2849, + "modifierName": { + "argumentTypes": null, + "id": 2847, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "676:16:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2361_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "676:34:10" + } + ], + "name": "Marketplace", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2845, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2852, + "src": "649:24:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2844, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "649:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "648:26:10" + }, + "payable": false, + "returnParameters": { + "id": 2850, + "nodeType": "ParameterList", + "parameters": [], + "src": "720:0:10" + }, + "scope": 3288, + "src": "628:96:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2989, + "nodeType": "Block", + "src": "954:949:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2872, + "name": "_category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2856, + "src": "1001:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2870, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "966:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 2871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "existingCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 2521, + "src": "966:34:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 2873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "966:45:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2869, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "958:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "958:54:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2875, + "nodeType": "ExpressionStatement", + "src": "958:54:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2877, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2864, + "src": "1024:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1033:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1024:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2876, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1016:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1016:19:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2881, + "nodeType": "ExpressionStatement", + "src": "1016:19:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2882, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "1039:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1071: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": 2883, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "1054:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "1054: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": 2886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1054:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1039:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2888, + "nodeType": "ExpressionStatement", + "src": "1039:34:10" + }, + { + "assignments": [ + 2892 + ], + "declarations": [ + { + "constant": false, + "id": 2892, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "1077:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 2891, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2744, + "src": "1077:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2896, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2893, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "1123:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 2895, + "indexExpression": { + "argumentTypes": null, + "id": 2894, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "1135:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1123:25:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1077:71:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2897, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1152:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2899, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "1152:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2900, + "name": "_direction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2854, + "src": "1181:10:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "1152:39:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "id": 2902, + "nodeType": "ExpressionStatement", + "src": "1152:39:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2903, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1195:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2905, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2731, + "src": "1195:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2906, + "name": "_category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2856, + "src": "1224:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1195:38:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2908, + "nodeType": "ExpressionStatement", + "src": "1195:38:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2909, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1237:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2911, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 2733, + "src": "1237:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2912, + "name": "_trust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2858, + "src": "1266:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1237:35:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2914, + "nodeType": "ExpressionStatement", + "src": "1237:35:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2915, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1276:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2917, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2735, + "src": "1276:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2918, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2860, + "src": "1305:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1276:35:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2920, + "nodeType": "ExpressionStatement", + "src": "1276:35:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2921, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1315:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2923, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "volume", + "nodeType": "MemberAccess", + "referencedDeclaration": 2737, + "src": "1315:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2924, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2864, + "src": "1344:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1315:36:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2926, + "nodeType": "ExpressionStatement", + "src": "1315:36:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2927, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1355:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2929, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "1355:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2930, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2864, + "src": "1384:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1355:36:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2932, + "nodeType": "ExpressionStatement", + "src": "1355:36:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "id": 2937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2933, + "name": "_direction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2854, + "src": "1400:10:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2934, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "1414:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 2935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2727, + "src": "1414:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2727_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 2936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ASK", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1414:37:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "1400:51:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2981, + "nodeType": "Block", + "src": "1790:46:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2978, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6703, + "src": "1823:6:10", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1823:8:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2980, + "nodeType": "ExpressionStatement", + "src": "1823:8:10" + } + ] + }, + "id": 2982, + "nodeType": "IfStatement", + "src": "1396:440:10", + "trueBody": { + "id": 2977, + "nodeType": "Block", + "src": "1455:325:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2940, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2862, + "src": "1479:11:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2939, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5819, + "src": "1468:10:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$5819_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 2941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1468:23:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 2942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3456, + "src": "1468:31:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1468:33:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2944, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1505:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1505:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1468:47:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2938, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1460:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1460:56:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2948, + "nodeType": "ExpressionStatement", + "src": "1460:56:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2952, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1561:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1561:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2959, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2864, + "src": "1612:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2956, + "name": "ASK_STAKE_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2829, + "src": "1591:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2954, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2860, + "src": "1573:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "1573: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": 2957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1573:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3587, + "src": "1573: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": 2960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1573:47:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2950, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "1530:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 2951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockForOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "1530:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1530:91:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2949, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1522:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1522:100:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2963, + "nodeType": "ExpressionStatement", + "src": "1522:100:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2964, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1689:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2741, + "src": "1689:22:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2967, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2862, + "src": "1719:11:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1689:41:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2969, + "nodeType": "ExpressionStatement", + "src": "1689:41:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2970, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1735:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2972, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2743, + "src": "1735:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2973, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1765:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1765:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1735:40:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2976, + "nodeType": "ExpressionStatement", + "src": "1735:40:10" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2984, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "1863:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2983, + "name": "MarketOrderCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2833, + "src": "1844:18:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 2985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1844:32:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2986, + "nodeType": "EmitStatement", + "src": "1839:37:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2987, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "1887:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2868, + "id": 2988, + "nodeType": "Return", + "src": "1880:19:10" + } + ] + }, + "documentation": "Market orders", + "id": 2990, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2854, + "name": "_direction", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "785:44:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 2853, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2727, + "src": "785:33:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2856, + "name": "_category", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "833:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2855, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "833:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2858, + "name": "_trust", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "854:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2857, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "854:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2860, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "872:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2859, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "872:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2862, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "890:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2861, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "890:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2864, + "name": "_volume", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "913:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2863, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "913:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "781:148:10" + }, + "payable": false, + "returnParameters": { + "id": 2868, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2867, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "947:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2866, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "947:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "946:6:10" + }, + "scope": 3288, + "src": "755:1148:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3056, + "nodeType": "Block", + "src": "1980:605:10", + "statements": [ + { + "assignments": [ + 3000 + ], + "declarations": [ + { + "constant": false, + "id": 3000, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3057, + "src": "1984:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 2999, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2744, + "src": "1984:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3004, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3001, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "2027:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3003, + "indexExpression": { + "argumentTypes": null, + "id": 3002, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2992, + "src": "2039:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2027:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1984:71:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "id": 3010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3005, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "2063:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3006, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "2063:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3007, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2088:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2727, + "src": "2088:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2727_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ASK", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2088:37:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "2063:62:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3040, + "nodeType": "Block", + "src": "2410:46:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3037, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6703, + "src": "2443:6:10", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2443:8:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3039, + "nodeType": "ExpressionStatement", + "src": "2443:8:10" + } + ] + }, + "id": 3041, + "nodeType": "IfStatement", + "src": "2059:397:10", + "trueBody": { + "id": 3036, + "nodeType": "Block", + "src": "2129:271:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3012, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "2142:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3013, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2743, + "src": "2142:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3014, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2173:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2173:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2142:41:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3011, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2134:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2134:50:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3018, + "nodeType": "ExpressionStatement", + "src": "2134:50:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3022, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "2230:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3023, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2743, + "src": "2230:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3030, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "2309:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3031, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "2309:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3027, + "name": "ASK_STAKE_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2829, + "src": "2288:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3024, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "2259:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3025, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2735, + "src": "2259:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "2259: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": 3028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2259:45:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3587, + "src": "2259: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": 3032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2259:72:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3020, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "2197:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 3021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unlockForOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2594, + "src": "2197:32:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2197:135:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3019, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2189:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2189:144:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3035, + "nodeType": "ExpressionStatement", + "src": "2189:144:10" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3042, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "2459:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3044, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "2459:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3045, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2483:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2727, + "src": "2483:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2727_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CLOSED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2483:40:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "2459:64:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "id": 3049, + "nodeType": "ExpressionStatement", + "src": "2459:64:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3051, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2992, + "src": "2550:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3050, + "name": "MarketOrderClosed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2837, + "src": "2532:17:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2532:34:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3053, + "nodeType": "EmitStatement", + "src": "2527:39:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2577:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2996, + "id": 3055, + "nodeType": "Return", + "src": "2570:11:10" + } + ] + }, + "documentation": null, + "id": 3057, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2993, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2992, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3057, + "src": "1932:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2991, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1932:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1931:25:10" + }, + "payable": false, + "returnParameters": { + "id": 2996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2995, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3057, + "src": "1973:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2994, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1973:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1972:6:10" + }, + "scope": 3288, + "src": "1906:679:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3141, + "nodeType": "Block", + "src": "2763:561:10", + "statements": [ + { + "assignments": [ + 3073 + ], + "declarations": [ + { + "constant": false, + "id": 3073, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2767:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 3072, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2744, + "src": "2767:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3077, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3074, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "2810:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3076, + "indexExpression": { + "argumentTypes": null, + "id": 3075, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "2822:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2810:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2767:71:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "id": 3084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3079, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "2850:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3080, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "2850:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3081, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2876:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2727, + "src": "2876:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2727_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3083, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ASK", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2876:37:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "2850:63:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3078, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2842:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2842:72:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3086, + "nodeType": "ExpressionStatement", + "src": "2842:72:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3088, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "2926:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3089, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "2926:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3090, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2952:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2926:27:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3087, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2918:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2918:36:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3093, + "nodeType": "ExpressionStatement", + "src": "2918:36:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3095, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "2966:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3096, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2741, + "src": "2966:22:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3097, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3063, + "src": "2992:11:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2966:37:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3094, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2958:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2958:46:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3100, + "nodeType": "ExpressionStatement", + "src": "2958:46:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3101, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "3009:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3103, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "3009:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3059: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": 3104, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "3033:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3105, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "3033:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "3033: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": 3108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3033:28:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3009:52:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3110, + "nodeType": "ExpressionStatement", + "src": "3009:52:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3111, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "3069:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3112, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "3069:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3094:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3069:26:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3124, + "nodeType": "IfStatement", + "src": "3065:108:10", + "trueBody": { + "id": 3123, + "nodeType": "Block", + "src": "3099:74:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3115, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "3104:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3117, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "3104:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3118, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "3128:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2727, + "src": "3128:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2727_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CLOSED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3128:40:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "3104:64:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "id": 3122, + "nodeType": "ExpressionStatement", + "src": "3104:64:10" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3128, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3061, + "src": "3215:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3129, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "3227:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3130, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2735, + "src": "3227:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3126, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "3184:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 3127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockForOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "3184:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3184:61:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3125, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "3176:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3176:70:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3133, + "nodeType": "ExpressionStatement", + "src": "3176:70:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3135, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "3277:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3136, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3061, + "src": "3294:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3134, + "name": "MarketOrderAskConsume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2843, + "src": "3255:21:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address)" + } + }, + "id": 3137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3255:50:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3138, + "nodeType": "EmitStatement", + "src": "3250:55:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3316:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3069, + "id": 3140, + "nodeType": "Return", + "src": "3309:11:10" + } + ] + }, + "documentation": "Assets consumption", + "id": 3142, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3066, + "modifierName": { + "argumentTypes": null, + "id": 3065, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2336, + "src": "2734:12:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2734:12:10" + } + ], + "name": "consumeMarketOrderAsk", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3064, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3059, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2656:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3058, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2656:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3061, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2683:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2683:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3063, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2705:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3062, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2705:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2652:73:10" + }, + "payable": false, + "returnParameters": { + "id": 3069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3068, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2756:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3067, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2756:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2755:6:10" + }, + "scope": 3288, + "src": "2622:702:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3156, + "nodeType": "Block", + "src": "3427:56:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3149, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "3438:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3151, + "indexExpression": { + "argumentTypes": null, + "id": 3150, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "3450:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3438:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3152, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2731, + "src": "3438:37:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3478:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3438:41:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3148, + "id": 3155, + "nodeType": "Return", + "src": "3431:48:10" + } + ] + }, + "documentation": null, + "id": 3157, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3144, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3157, + "src": "3356:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3143, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3356:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3355:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3148, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3147, + "name": "marketOrderExist", + "nodeType": "VariableDeclaration", + "scope": 3157, + "src": "3403:21:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3146, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3403:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3402:23:10" + }, + "scope": 3288, + "src": "3327:156:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3175, + "nodeType": "Block", + "src": "3591:126:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3166, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3159, + "src": "3623:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3165, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3157, + "src": "3603:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3603:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3164, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "3595:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3595:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3169, + "nodeType": "ExpressionStatement", + "src": "3595:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3170, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "3679:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3172, + "indexExpression": { + "argumentTypes": null, + "id": 3171, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3159, + "src": "3691:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3679:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2735, + "src": "3679:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3163, + "id": 3174, + "nodeType": "Return", + "src": "3672:41:10" + } + ] + }, + "documentation": "Views", + "id": 3176, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderValue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3160, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3159, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3176, + "src": "3535:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3158, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3535:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3534:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3163, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3162, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3176, + "src": "3581:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3161, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3581:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3580:9:10" + }, + "scope": 3288, + "src": "3506:211:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3194, + "nodeType": "Block", + "src": "3814:136:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3185, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3178, + "src": "3846:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3184, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3157, + "src": "3826:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3826:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3183, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "3818:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3818:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3188, + "nodeType": "ExpressionStatement", + "src": "3818:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3189, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "3902:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3191, + "indexExpression": { + "argumentTypes": null, + "id": 3190, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3178, + "src": "3914:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3902:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3192, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2743, + "src": "3902:44:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3182, + "id": 3193, + "nodeType": "Return", + "src": "3895:51:10" + } + ] + }, + "documentation": null, + "id": 3195, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderWorkerpoolOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3178, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3195, + "src": "3758:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3177, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3758:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3757:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3181, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3195, + "src": "3804:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3180, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3804:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3803:9:10" + }, + "scope": 3288, + "src": "3719:231:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3213, + "nodeType": "Block", + "src": "4040:129:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3204, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3197, + "src": "4072:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3203, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3157, + "src": "4052:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4052:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3202, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "4044:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4044:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3207, + "nodeType": "ExpressionStatement", + "src": "4044:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3208, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "4128:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3210, + "indexExpression": { + "argumentTypes": null, + "id": 3209, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3197, + "src": "4140:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4128:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3211, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2731, + "src": "4128:37:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3201, + "id": 3212, + "nodeType": "Return", + "src": "4121:44:10" + } + ] + }, + "documentation": null, + "id": 3214, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3197, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3214, + "src": "3984:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3196, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3984:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3983:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3200, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3214, + "src": "4030:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3199, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4030:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4029:9:10" + }, + "scope": 3288, + "src": "3952:217:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3232, + "nodeType": "Block", + "src": "4256:126:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3223, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3216, + "src": "4288:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3222, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3157, + "src": "4268:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4268:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3221, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "4260:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4260:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3226, + "nodeType": "ExpressionStatement", + "src": "4260:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3227, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "4344:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3229, + "indexExpression": { + "argumentTypes": null, + "id": 3228, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3216, + "src": "4356:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4344:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3230, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 2733, + "src": "4344:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3220, + "id": 3231, + "nodeType": "Return", + "src": "4337:41:10" + } + ] + }, + "documentation": null, + "id": 3233, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderTrust", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3217, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3216, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "4200:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3215, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4200:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4199:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3219, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "4246:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3218, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4246:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4245:9:10" + }, + "scope": 3288, + "src": "4171:211:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3286, + "nodeType": "Block", + "src": "4824:374:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3256, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3235, + "src": "4856:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3255, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3157, + "src": "4836:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4836:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3254, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "4828:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4828:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3259, + "nodeType": "ExpressionStatement", + "src": "4828:45:10" + }, + { + "assignments": [ + 3263 + ], + "declarations": [ + { + "constant": false, + "id": 3263, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4905:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 3262, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2744, + "src": "4905:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3267, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3264, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "4948:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3266, + "indexExpression": { + "argumentTypes": null, + "id": 3265, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3235, + "src": "4960:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4948:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4905:71:10" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3268, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "4992:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3269, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "4992:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3270, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5018:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3271, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2731, + "src": "5018:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3272, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5043:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3273, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 2733, + "src": "5043:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3274, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5065:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3275, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2735, + "src": "5065:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3276, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5087:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3277, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "volume", + "nodeType": "MemberAccess", + "referencedDeclaration": 2737, + "src": "5087:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3278, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5110:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "5110:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3280, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5136:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2741, + "src": "5136:22:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3282, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5163:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3283, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2743, + "src": "5163:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3284, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4987:207:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2727_$_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": 3253, + "id": 3285, + "nodeType": "Return", + "src": "4980:214:10" + } + ] + }, + "documentation": null, + "id": 3287, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3236, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3235, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4408:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4408:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4407:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3238, + "name": "direction", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4458:43:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 3237, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2727, + "src": "4458:33:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3240, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4505:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3239, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4505:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3242, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4552:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3241, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4552:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3244, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4590:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3243, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4590:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3246, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4636:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3245, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4636:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3248, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4695:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3247, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4695:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3250, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4744:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3249, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4744:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3252, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4798:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4798:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4454:368:10" + }, + "scope": 3288, + "src": "4384:814:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3289, + "src": "138:5063:10" + } + ], + "src": "0:5202:10" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", + "exportedSymbols": { + "Marketplace": [ + 3288 + ] + }, + "id": 3289, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2811, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:10" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 2812, + "nodeType": "ImportDirective", + "scope": 3289, + "sourceUnit": 2810, + "src": "25:24:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 2813, + "nodeType": "ImportDirective", + "scope": 3289, + "sourceUnit": 2362, + "src": "50:32:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", + "file": "./WorkerPool.sol", + "id": 2814, + "nodeType": "ImportDirective", + "scope": 3289, + "sourceUnit": 5820, + "src": "83:26:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 2815, + "nodeType": "ImportDirective", + "scope": 3289, + "sourceUnit": 3686, + "src": "110:26:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 2816, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2361, + "src": "162:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2361", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 2817, + "nodeType": "InheritanceSpecifier", + "src": "162:16:10" + } + ], + "contractDependencies": [ + 2361 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3288, + "linearizedBaseContracts": [ + 3288, + 2361 + ], + "name": "Marketplace", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 2820, + "libraryName": { + "contractScope": null, + "id": 2818, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3685, + "src": "188:10:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3685", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "182:29:10", + "typeName": { + "id": 2819, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "203:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 2822, + "name": "m_orderCount", + "nodeType": "VariableDeclaration", + "scope": 3288, + "src": "240:56:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2821, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "240:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2826, + "name": "m_orderBook", + "nodeType": "VariableDeclaration", + "scope": 3288, + "src": "299:55:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + }, + "typeName": { + "id": 2825, + "keyType": { + "id": 2823, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "307:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "299:36:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 2824, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2744, + "src": "314:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 2829, + "name": "ASK_STAKE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 3288, + "src": "358:45:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2827, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "358:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3330", + "id": 2828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "401:2:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": "Events", + "id": 2833, + "name": "MarketOrderCreated", + "nodeType": "EventDefinition", + "parameters": { + "id": 2832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2831, + "indexed": false, + "name": "marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2833, + "src": "456:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2830, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "456:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "455:21:10" + }, + "src": "428:49:10" + }, + { + "anonymous": false, + "documentation": null, + "id": 2837, + "name": "MarketOrderClosed", + "nodeType": "EventDefinition", + "parameters": { + "id": 2836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2835, + "indexed": false, + "name": "marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2837, + "src": "507:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2834, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "507:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "506:21:10" + }, + "src": "479:49:10" + }, + { + "anonymous": false, + "documentation": null, + "id": 2843, + "name": "MarketOrderAskConsume", + "nodeType": "EventDefinition", + "parameters": { + "id": 2842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2839, + "indexed": false, + "name": "marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2843, + "src": "558:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2838, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "558:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2841, + "indexed": false, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 2843, + "src": "579:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "579:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "557:40:10" + }, + "src": "530:68:10" + }, + { + "body": { + "id": 2851, + "nodeType": "Block", + "src": "720:4:10", + "statements": [] + }, + "documentation": "Constructor", + "id": 2852, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2848, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2845, + "src": "693:16:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2849, + "modifierName": { + "argumentTypes": null, + "id": 2847, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "676:16:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2361_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "676:34:10" + } + ], + "name": "Marketplace", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2845, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2852, + "src": "649:24:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2844, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "649:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "648:26:10" + }, + "payable": false, + "returnParameters": { + "id": 2850, + "nodeType": "ParameterList", + "parameters": [], + "src": "720:0:10" + }, + "scope": 3288, + "src": "628:96:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2989, + "nodeType": "Block", + "src": "954:949:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2872, + "name": "_category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2856, + "src": "1001:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2870, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "966:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 2871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "existingCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 2521, + "src": "966:34:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 2873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "966:45:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2869, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "958:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "958:54:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2875, + "nodeType": "ExpressionStatement", + "src": "958:54:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2877, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2864, + "src": "1024:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1033:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1024:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2876, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1016:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1016:19:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2881, + "nodeType": "ExpressionStatement", + "src": "1016:19:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2882, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "1039:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1071: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": 2883, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "1054:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "1054: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": 2886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1054:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1039:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2888, + "nodeType": "ExpressionStatement", + "src": "1039:34:10" + }, + { + "assignments": [ + 2892 + ], + "declarations": [ + { + "constant": false, + "id": 2892, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "1077:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 2891, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2744, + "src": "1077:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2896, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2893, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "1123:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 2895, + "indexExpression": { + "argumentTypes": null, + "id": 2894, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "1135:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1123:25:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1077:71:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2897, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1152:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2899, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "1152:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2900, + "name": "_direction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2854, + "src": "1181:10:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "1152:39:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "id": 2902, + "nodeType": "ExpressionStatement", + "src": "1152:39:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2903, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1195:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2905, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2731, + "src": "1195:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2906, + "name": "_category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2856, + "src": "1224:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1195:38:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2908, + "nodeType": "ExpressionStatement", + "src": "1195:38:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2909, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1237:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2911, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 2733, + "src": "1237:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2912, + "name": "_trust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2858, + "src": "1266:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1237:35:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2914, + "nodeType": "ExpressionStatement", + "src": "1237:35:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2915, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1276:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2917, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2735, + "src": "1276:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2918, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2860, + "src": "1305:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1276:35:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2920, + "nodeType": "ExpressionStatement", + "src": "1276:35:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2921, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1315:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2923, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "volume", + "nodeType": "MemberAccess", + "referencedDeclaration": 2737, + "src": "1315:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2924, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2864, + "src": "1344:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1315:36:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2926, + "nodeType": "ExpressionStatement", + "src": "1315:36:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2927, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1355:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2929, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "1355:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2930, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2864, + "src": "1384:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1355:36:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2932, + "nodeType": "ExpressionStatement", + "src": "1355:36:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "id": 2937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2933, + "name": "_direction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2854, + "src": "1400:10:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2934, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "1414:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 2935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2727, + "src": "1414:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2727_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 2936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ASK", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1414:37:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "1400:51:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2981, + "nodeType": "Block", + "src": "1790:46:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2978, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6703, + "src": "1823:6:10", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1823:8:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2980, + "nodeType": "ExpressionStatement", + "src": "1823:8:10" + } + ] + }, + "id": 2982, + "nodeType": "IfStatement", + "src": "1396:440:10", + "trueBody": { + "id": 2977, + "nodeType": "Block", + "src": "1455:325:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2940, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2862, + "src": "1479:11:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2939, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5819, + "src": "1468:10:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$5819_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 2941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1468:23:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "id": 2942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3456, + "src": "1468:31:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1468:33:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2944, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1505:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1505:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1468:47:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2938, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1460:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1460:56:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2948, + "nodeType": "ExpressionStatement", + "src": "1460:56:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2952, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1561:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1561:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2959, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2864, + "src": "1612:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2956, + "name": "ASK_STAKE_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2829, + "src": "1591:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2954, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2860, + "src": "1573:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "1573: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": 2957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1573:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3587, + "src": "1573: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": 2960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1573:47:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2950, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "1530:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 2951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockForOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "1530:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1530:91:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2949, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1522:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1522:100:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2963, + "nodeType": "ExpressionStatement", + "src": "1522:100:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2964, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1689:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2741, + "src": "1689:22:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2967, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2862, + "src": "1719:11:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1689:41:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2969, + "nodeType": "ExpressionStatement", + "src": "1689:41:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2970, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2892, + "src": "1735:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2972, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2743, + "src": "1735:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2973, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1765:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1765:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1735:40:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2976, + "nodeType": "ExpressionStatement", + "src": "1735:40:10" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2984, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "1863:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2983, + "name": "MarketOrderCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2833, + "src": "1844:18:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 2985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1844:32:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2986, + "nodeType": "EmitStatement", + "src": "1839:37:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2987, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2822, + "src": "1887:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2868, + "id": 2988, + "nodeType": "Return", + "src": "1880:19:10" + } + ] + }, + "documentation": "Market orders", + "id": 2990, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2854, + "name": "_direction", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "785:44:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 2853, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2727, + "src": "785:33:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2856, + "name": "_category", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "833:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2855, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "833:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2858, + "name": "_trust", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "854:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2857, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "854:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2860, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "872:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2859, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "872:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2862, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "890:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2861, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "890:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2864, + "name": "_volume", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "913:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2863, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "913:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "781:148:10" + }, + "payable": false, + "returnParameters": { + "id": 2868, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2867, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2990, + "src": "947:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2866, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "947:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "946:6:10" + }, + "scope": 3288, + "src": "755:1148:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3056, + "nodeType": "Block", + "src": "1980:605:10", + "statements": [ + { + "assignments": [ + 3000 + ], + "declarations": [ + { + "constant": false, + "id": 3000, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3057, + "src": "1984:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 2999, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2744, + "src": "1984:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3004, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3001, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "2027:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3003, + "indexExpression": { + "argumentTypes": null, + "id": 3002, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2992, + "src": "2039:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2027:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1984:71:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "id": 3010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3005, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "2063:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3006, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "2063:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3007, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2088:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2727, + "src": "2088:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2727_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ASK", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2088:37:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "2063:62:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3040, + "nodeType": "Block", + "src": "2410:46:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3037, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6703, + "src": "2443:6:10", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2443:8:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3039, + "nodeType": "ExpressionStatement", + "src": "2443:8:10" + } + ] + }, + "id": 3041, + "nodeType": "IfStatement", + "src": "2059:397:10", + "trueBody": { + "id": 3036, + "nodeType": "Block", + "src": "2129:271:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3012, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "2142:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3013, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2743, + "src": "2142:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3014, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2173:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2173:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2142:41:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3011, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2134:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2134:50:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3018, + "nodeType": "ExpressionStatement", + "src": "2134:50:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3022, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "2230:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3023, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2743, + "src": "2230:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3030, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "2309:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3031, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "2309:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3027, + "name": "ASK_STAKE_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2829, + "src": "2288:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3024, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "2259:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3025, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2735, + "src": "2259:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "2259: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": 3028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2259:45:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3587, + "src": "2259: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": 3032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2259:72:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3020, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "2197:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 3021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unlockForOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2594, + "src": "2197:32:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2197:135:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3019, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2189:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2189:144:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3035, + "nodeType": "ExpressionStatement", + "src": "2189:144:10" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3042, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "2459:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3044, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "2459:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3045, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2483:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2727, + "src": "2483:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2727_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CLOSED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2483:40:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "2459:64:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "id": 3049, + "nodeType": "ExpressionStatement", + "src": "2459:64:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3051, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2992, + "src": "2550:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3050, + "name": "MarketOrderClosed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2837, + "src": "2532:17:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2532:34:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3053, + "nodeType": "EmitStatement", + "src": "2527:39:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2577:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2996, + "id": 3055, + "nodeType": "Return", + "src": "2570:11:10" + } + ] + }, + "documentation": null, + "id": 3057, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2993, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2992, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3057, + "src": "1932:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2991, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1932:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1931:25:10" + }, + "payable": false, + "returnParameters": { + "id": 2996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2995, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3057, + "src": "1973:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2994, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1973:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1972:6:10" + }, + "scope": 3288, + "src": "1906:679:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3141, + "nodeType": "Block", + "src": "2763:561:10", + "statements": [ + { + "assignments": [ + 3073 + ], + "declarations": [ + { + "constant": false, + "id": 3073, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2767:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 3072, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2744, + "src": "2767:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3077, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3074, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "2810:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3076, + "indexExpression": { + "argumentTypes": null, + "id": 3075, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "2822:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2810:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2767:71:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "id": 3084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3079, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "2850:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3080, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "2850:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3081, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2876:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2727, + "src": "2876:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2727_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3083, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ASK", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2876:37:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "2850:63:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3078, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2842:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2842:72:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3086, + "nodeType": "ExpressionStatement", + "src": "2842:72:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3088, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "2926:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3089, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "2926:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3090, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2952:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2926:27:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3087, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2918:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2918:36:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3093, + "nodeType": "ExpressionStatement", + "src": "2918:36:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3095, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "2966:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3096, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2741, + "src": "2966:22:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3097, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3063, + "src": "2992:11:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2966:37:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3094, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2958:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2958:46:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3100, + "nodeType": "ExpressionStatement", + "src": "2958:46:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3101, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "3009:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3103, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "3009:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3059: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": 3104, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "3033:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3105, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "3033:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "3033: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": 3108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3033:28:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3009:52:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3110, + "nodeType": "ExpressionStatement", + "src": "3009:52:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3111, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "3069:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3112, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "3069:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3094:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3069:26:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3124, + "nodeType": "IfStatement", + "src": "3065:108:10", + "trueBody": { + "id": 3123, + "nodeType": "Block", + "src": "3099:74:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3115, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "3104:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3117, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "3104:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3118, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "3128:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2727, + "src": "3128:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2727_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CLOSED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3128:40:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "3104:64:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "id": 3122, + "nodeType": "ExpressionStatement", + "src": "3104:64:10" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3128, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3061, + "src": "3215:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3129, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3073, + "src": "3227:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3130, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2735, + "src": "3227:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3126, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "3184:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 3127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockForOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "3184:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3184:61:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3125, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "3176:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3176:70:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3133, + "nodeType": "ExpressionStatement", + "src": "3176:70:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3135, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "3277:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3136, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3061, + "src": "3294:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3134, + "name": "MarketOrderAskConsume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2843, + "src": "3255:21:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address)" + } + }, + "id": 3137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3255:50:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3138, + "nodeType": "EmitStatement", + "src": "3250:55:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3316:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3069, + "id": 3140, + "nodeType": "Return", + "src": "3309:11:10" + } + ] + }, + "documentation": "Assets consumption", + "id": 3142, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3066, + "modifierName": { + "argumentTypes": null, + "id": 3065, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2336, + "src": "2734:12:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2734:12:10" + } + ], + "name": "consumeMarketOrderAsk", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3064, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3059, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2656:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3058, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2656:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3061, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2683:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2683:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3063, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2705:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3062, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2705:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2652:73:10" + }, + "payable": false, + "returnParameters": { + "id": 3069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3068, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2756:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3067, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2756:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2755:6:10" + }, + "scope": 3288, + "src": "2622:702:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3156, + "nodeType": "Block", + "src": "3427:56:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3149, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "3438:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3151, + "indexExpression": { + "argumentTypes": null, + "id": 3150, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "3450:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3438:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3152, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2731, + "src": "3438:37:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3478:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3438:41:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3148, + "id": 3155, + "nodeType": "Return", + "src": "3431:48:10" + } + ] + }, + "documentation": null, + "id": 3157, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3144, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3157, + "src": "3356:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3143, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3356:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3355:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3148, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3147, + "name": "marketOrderExist", + "nodeType": "VariableDeclaration", + "scope": 3157, + "src": "3403:21:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3146, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3403:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3402:23:10" + }, + "scope": 3288, + "src": "3327:156:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3175, + "nodeType": "Block", + "src": "3591:126:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3166, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3159, + "src": "3623:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3165, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3157, + "src": "3603:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3603:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3164, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "3595:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3595:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3169, + "nodeType": "ExpressionStatement", + "src": "3595:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3170, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "3679:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3172, + "indexExpression": { + "argumentTypes": null, + "id": 3171, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3159, + "src": "3691:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3679:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2735, + "src": "3679:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3163, + "id": 3174, + "nodeType": "Return", + "src": "3672:41:10" + } + ] + }, + "documentation": "Views", + "id": 3176, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderValue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3160, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3159, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3176, + "src": "3535:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3158, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3535:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3534:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3163, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3162, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3176, + "src": "3581:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3161, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3581:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3580:9:10" + }, + "scope": 3288, + "src": "3506:211:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3194, + "nodeType": "Block", + "src": "3814:136:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3185, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3178, + "src": "3846:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3184, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3157, + "src": "3826:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3826:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3183, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "3818:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3818:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3188, + "nodeType": "ExpressionStatement", + "src": "3818:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3189, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "3902:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3191, + "indexExpression": { + "argumentTypes": null, + "id": 3190, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3178, + "src": "3914:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3902:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3192, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2743, + "src": "3902:44:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3182, + "id": 3193, + "nodeType": "Return", + "src": "3895:51:10" + } + ] + }, + "documentation": null, + "id": 3195, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderWorkerpoolOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3178, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3195, + "src": "3758:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3177, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3758:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3757:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3181, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3195, + "src": "3804:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3180, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3804:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3803:9:10" + }, + "scope": 3288, + "src": "3719:231:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3213, + "nodeType": "Block", + "src": "4040:129:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3204, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3197, + "src": "4072:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3203, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3157, + "src": "4052:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4052:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3202, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "4044:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4044:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3207, + "nodeType": "ExpressionStatement", + "src": "4044:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3208, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "4128:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3210, + "indexExpression": { + "argumentTypes": null, + "id": 3209, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3197, + "src": "4140:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4128:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3211, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2731, + "src": "4128:37:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3201, + "id": 3212, + "nodeType": "Return", + "src": "4121:44:10" + } + ] + }, + "documentation": null, + "id": 3214, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3197, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3214, + "src": "3984:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3196, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3984:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3983:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3200, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3214, + "src": "4030:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3199, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4030:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4029:9:10" + }, + "scope": 3288, + "src": "3952:217:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3232, + "nodeType": "Block", + "src": "4256:126:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3223, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3216, + "src": "4288:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3222, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3157, + "src": "4268:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4268:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3221, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "4260:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4260:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3226, + "nodeType": "ExpressionStatement", + "src": "4260:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3227, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "4344:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3229, + "indexExpression": { + "argumentTypes": null, + "id": 3228, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3216, + "src": "4356:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4344:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3230, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 2733, + "src": "4344:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3220, + "id": 3231, + "nodeType": "Return", + "src": "4337:41:10" + } + ] + }, + "documentation": null, + "id": 3233, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderTrust", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3217, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3216, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "4200:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3215, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4200:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4199:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3219, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "4246:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3218, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4246:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4245:9:10" + }, + "scope": 3288, + "src": "4171:211:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3286, + "nodeType": "Block", + "src": "4824:374:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3256, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3235, + "src": "4856:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3255, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3157, + "src": "4836:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4836:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3254, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "4828:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4828:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3259, + "nodeType": "ExpressionStatement", + "src": "4828:45:10" + }, + { + "assignments": [ + 3263 + ], + "declarations": [ + { + "constant": false, + "id": 3263, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4905:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 3262, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2744, + "src": "4905:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3267, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3264, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "4948:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2744_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3266, + "indexExpression": { + "argumentTypes": null, + "id": 3265, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3235, + "src": "4960:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4948:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4905:71:10" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3268, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "4992:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3269, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "4992:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3270, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5018:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3271, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2731, + "src": "5018:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3272, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5043:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3273, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 2733, + "src": "5043:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3274, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5065:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3275, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2735, + "src": "5065:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3276, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5087:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3277, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "volume", + "nodeType": "MemberAccess", + "referencedDeclaration": 2737, + "src": "5087:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3278, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5110:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2739, + "src": "5110:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3280, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5136:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2741, + "src": "5136:22:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3282, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "5163:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2744_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3283, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2743, + "src": "5163:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3284, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4987:207:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2727_$_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": 3253, + "id": 3285, + "nodeType": "Return", + "src": "4980:214:10" + } + ] + }, + "documentation": null, + "id": 3287, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3236, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3235, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4408:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4408:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4407:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3238, + "name": "direction", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4458:43:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 3237, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2727, + "src": "4458:33:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3240, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4505:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3239, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4505:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3242, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4552:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3241, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4552:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3244, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4590:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3243, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4590:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3246, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4636:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3245, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4636:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3248, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4695:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3247, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4695:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3250, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4744:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3249, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4744:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3252, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "4798:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4798:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4454:368:10" + }, + "scope": 3288, + "src": "4384:814:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3289, + "src": "138:5063:10" + } + ], + "src": "0:5202:10" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": { + "3": { + "events": {}, + "links": {}, + "address": "0x9315a6ae9a9842bcb5ad8f5d43a4271d297088e2", + "transactionHash": "0x5f28ec7d433c2f21c5e90cae68bded4051817c4a5a589e0e99bea11e98a582e9" + }, + "4": { + "events": {}, + "links": {}, + "address": "0x6d2ec2e6bc2f5d852ea1d7eca05802db00095556", + "transactionHash": "0xbca4b49df5c16c8ed2d4fccbbb57678e12a4e5b36f377244dbc6029ddf57d5e3" + }, + "42": { + "events": {}, + "links": {}, + "address": "0x07e12c896a86c54ad0a068fca5f0d0cd9e02aba0", + "transactionHash": "0x0973591b9634133172094a309011287803077d2c9ee9f0c59f41f4ba150f19a9" + } + }, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T19:19:29.265Z" +} \ No newline at end of file diff --git a/build/contracts/MarketplaceAccessor.json b/build/contracts/MarketplaceAccessor.json new file mode 100644 index 00000000..9bc81fbb --- /dev/null +++ b/build/contracts/MarketplaceAccessor.json @@ -0,0 +1,879 @@ +{ + "contractName": "MarketplaceAccessor", + "abi": [ + { + "inputs": [ + { + "name": "_marketplaceAddress", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + } + ], + "bytecode": "0x60606040523415600e57600080fd5b60405160208060a383398101604052808051915050600160a060020a0381161515603757600080fd5b60008054600160a060020a03909216600160a060020a0319928316811790915560018054909216179055603580606e6000396000f3006060604052600080fd00a165627a7a723058208c4a55db3398f8810d96ba6a33b8a2966393fafad2aa597aed04acd63a9044af0029", + "deployedBytecode": "0x6060604052600080fd00a165627a7a723058208c4a55db3398f8810d96ba6a33b8a2966393fafad2aa597aed04acd63a9044af0029", + "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": [ + 3320 + ] + }, + "id": 3321, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3290, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:11" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", + "file": "./MarketplaceInterface.sol", + "id": 3291, + "nodeType": "ImportDirective", + "scope": 3321, + "sourceUnit": 3396, + "src": "26:36:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3320, + "linearizedBaseContracts": [ + 3320 + ], + "name": "MarketplaceAccessor", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3293, + "name": "marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 3320, + "src": "96:48:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3292, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "96:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3295, + "name": "marketplaceInterface", + "nodeType": "VariableDeclaration", + "scope": 3320, + "src": "147:50:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + }, + "typeName": { + "contractScope": null, + "id": 3294, + "name": "MarketplaceInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3395, + "src": "147:20:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 3318, + "nodeType": "Block", + "src": "365:164:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3301, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "377:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3303, + "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": 3302, + "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": 3304, + "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": 3300, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "369:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "369:42:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3307, + "nodeType": "ExpressionStatement", + "src": "369:42:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3308, + "name": "marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3293, + "src": "415:18:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3309, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "438:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "415:42:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3311, + "nodeType": "ExpressionStatement", + "src": "415:42:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3312, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3295, + "src": "461:20:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3314, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "505:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3313, + "name": "MarketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3395, + "src": "484:20:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MarketplaceInterface_$3395_$", + "typeString": "type(contract MarketplaceInterface)" + } + }, + "id": 3315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "484:41:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "src": "461:64:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 3317, + "nodeType": "ExpressionStatement", + "src": "461:64:11" + } + ] + }, + "documentation": null, + "id": 3319, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "MarketplaceAccessor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3298, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3297, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 3319, + "src": "328:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3296, + "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": 3299, + "nodeType": "ParameterList", + "parameters": [], + "src": "365:0:11" + }, + "scope": 3320, + "src": "299:230:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3321, + "src": "64:467:11" + } + ], + "src": "0:532:11" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceAccessor.sol", + "exportedSymbols": { + "MarketplaceAccessor": [ + 3320 + ] + }, + "id": 3321, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3290, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:11" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", + "file": "./MarketplaceInterface.sol", + "id": 3291, + "nodeType": "ImportDirective", + "scope": 3321, + "sourceUnit": 3396, + "src": "26:36:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3320, + "linearizedBaseContracts": [ + 3320 + ], + "name": "MarketplaceAccessor", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3293, + "name": "marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 3320, + "src": "96:48:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3292, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "96:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3295, + "name": "marketplaceInterface", + "nodeType": "VariableDeclaration", + "scope": 3320, + "src": "147:50:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + }, + "typeName": { + "contractScope": null, + "id": 3294, + "name": "MarketplaceInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3395, + "src": "147:20:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 3318, + "nodeType": "Block", + "src": "365:164:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3301, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "377:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3303, + "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": 3302, + "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": 3304, + "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": 3300, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "369:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "369:42:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3307, + "nodeType": "ExpressionStatement", + "src": "369:42:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3308, + "name": "marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3293, + "src": "415:18:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3309, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "438:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "415:42:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3311, + "nodeType": "ExpressionStatement", + "src": "415:42:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3312, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3295, + "src": "461:20:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3314, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "505:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3313, + "name": "MarketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3395, + "src": "484:20:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MarketplaceInterface_$3395_$", + "typeString": "type(contract MarketplaceInterface)" + } + }, + "id": 3315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "484:41:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "src": "461:64:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 3317, + "nodeType": "ExpressionStatement", + "src": "461:64:11" + } + ] + }, + "documentation": null, + "id": 3319, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "MarketplaceAccessor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3298, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3297, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 3319, + "src": "328:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3296, + "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": 3299, + "nodeType": "ParameterList", + "parameters": [], + "src": "365:0:11" + }, + "scope": 3320, + "src": "299:230:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3321, + "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-04-12T18:32:30.796Z" +} \ No newline at end of file diff --git a/build/contracts/MarketplaceInterface.json b/build/contracts/MarketplaceInterface.json new file mode 100644 index 00000000..1e40f15f --- /dev/null +++ b/build/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": [ + 3395 + ] + }, + "id": 3396, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3322, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:12" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 3323, + "nodeType": "ImportDirective", + "scope": 3396, + "sourceUnit": 2810, + "src": "25:24:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 3395, + "linearizedBaseContracts": [ + 3395 + ], + "name": "MarketplaceInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 3340, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3325, + "name": "_direction", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "113:44:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 3324, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2727, + "src": "113:33:12", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3327, + "name": "_category", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "161:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3326, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "161:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3329, + "name": "_trust", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "182:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3328, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "182:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3331, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "200:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3330, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "200:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3333, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "218:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3332, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "218:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3335, + "name": "_volume", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "241:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3334, + "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": 3339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3338, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "275:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3337, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "275:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "274:6:12" + }, + "scope": 3395, + "src": "83:198:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3347, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3343, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3342, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3347, + "src": "313:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3341, + "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": 3346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3345, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3347, + "src": "355:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3344, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "355:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "354:6:12" + }, + "scope": 3395, + "src": "284:77:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3354, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderValue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3349, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3354, + "src": "396:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3348, + "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": 3353, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3352, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3354, + "src": "442:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3351, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "442:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "441:9:12" + }, + "scope": 3395, + "src": "364:87:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3361, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderWorkerpoolOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3356, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3361, + "src": "496:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3355, + "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": 3360, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3359, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3361, + "src": "542:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3358, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "542:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "541:9:12" + }, + "scope": 3395, + "src": "454:97:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3368, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3363, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3368, + "src": "589:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3362, + "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": 3367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3366, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3368, + "src": "636:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3365, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "636:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "635:9:12" + }, + "scope": 3395, + "src": "554:91:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3375, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderTrust", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3370, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3375, + "src": "680:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3369, + "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": 3374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3373, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3375, + "src": "726:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3372, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "726:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "725:9:12" + }, + "scope": 3395, + "src": "648:87:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3394, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3377, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "765:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3376, + "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": 3393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3380, + "name": "direction", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "814:43:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 3379, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2727, + "src": "814:33:12", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3382, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "861:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "861:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3384, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "908:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3383, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "908:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3386, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "946:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3385, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "946:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3388, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "992:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3387, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "992:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3390, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "1051:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3389, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1051:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3392, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "1100:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3391, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1100:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "810:309:12" + }, + "scope": 3395, + "src": "738:382:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3396, + "src": "50:1103:12" + } + ], + "src": "0:1154:12" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", + "exportedSymbols": { + "MarketplaceInterface": [ + 3395 + ] + }, + "id": 3396, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3322, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:12" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 3323, + "nodeType": "ImportDirective", + "scope": 3396, + "sourceUnit": 2810, + "src": "25:24:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 3395, + "linearizedBaseContracts": [ + 3395 + ], + "name": "MarketplaceInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 3340, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3325, + "name": "_direction", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "113:44:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 3324, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2727, + "src": "113:33:12", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3327, + "name": "_category", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "161:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3326, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "161:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3329, + "name": "_trust", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "182:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3328, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "182:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3331, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "200:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3330, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "200:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3333, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "218:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3332, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "218:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3335, + "name": "_volume", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "241:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3334, + "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": 3339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3338, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3340, + "src": "275:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3337, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "275:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "274:6:12" + }, + "scope": 3395, + "src": "83:198:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3347, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3343, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3342, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3347, + "src": "313:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3341, + "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": 3346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3345, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3347, + "src": "355:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3344, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "355:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "354:6:12" + }, + "scope": 3395, + "src": "284:77:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3354, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderValue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3349, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3354, + "src": "396:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3348, + "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": 3353, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3352, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3354, + "src": "442:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3351, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "442:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "441:9:12" + }, + "scope": 3395, + "src": "364:87:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3361, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderWorkerpoolOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3356, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3361, + "src": "496:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3355, + "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": 3360, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3359, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3361, + "src": "542:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3358, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "542:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "541:9:12" + }, + "scope": 3395, + "src": "454:97:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3368, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3363, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3368, + "src": "589:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3362, + "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": 3367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3366, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3368, + "src": "636:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3365, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "636:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "635:9:12" + }, + "scope": 3395, + "src": "554:91:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3375, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderTrust", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3370, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3375, + "src": "680:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3369, + "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": 3374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3373, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3375, + "src": "726:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3372, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "726:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "725:9:12" + }, + "scope": 3395, + "src": "648:87:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3394, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3377, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "765:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3376, + "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": 3393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3380, + "name": "direction", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "814:43:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 3379, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2727, + "src": "814:33:12", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2727", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3382, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "861:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "861:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3384, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "908:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3383, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "908:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3386, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "946:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3385, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "946:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3388, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "992:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3387, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "992:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3390, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "1051:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3389, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1051:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3392, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 3394, + "src": "1100:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3391, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1100:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "810:309:12" + }, + "scope": 3395, + "src": "738:382:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3396, + "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-04-12T18:32:30.796Z" +} \ No newline at end of file diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json new file mode 100644 index 00000000..57fa7c28 --- /dev/null +++ b/build/contracts/Migrations.json @@ -0,0 +1,1399 @@ +{ + "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": [ + 3452 + ] + }, + "id": 3453, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3397, + "literals": [ + "solidity", + "^", + "0.4", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "0:23:13" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3452, + "linearizedBaseContracts": [ + 3452 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3399, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 3452, + "src": "48:20:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3398, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3401, + "name": "last_completed_migration", + "nodeType": "VariableDeclaration", + "scope": 3452, + "src": "71:39:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3400, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "71:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 3409, + "nodeType": "Block", + "src": "137:58:13", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3403, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "145:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3404, + "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": 3405, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3399, + "src": "159:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "145:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3408, + "nodeType": "IfStatement", + "src": "141:26:13", + "trueBody": { + "id": 3407, + "nodeType": "PlaceholderStatement", + "src": "166:1:13" + } + } + ] + }, + "documentation": null, + "id": 3410, + "name": "restricted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3402, + "nodeType": "ParameterList", + "parameters": [], + "src": "133:2:13" + }, + "src": "114:81:13", + "visibility": "internal" + }, + { + "body": { + "id": 3418, + "nodeType": "Block", + "src": "228:26:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3413, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3399, + "src": "232:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3414, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "240:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3415, + "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": 3417, + "nodeType": "ExpressionStatement", + "src": "232:18:13" + } + ] + }, + "documentation": null, + "id": 3419, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Migrations", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3411, + "nodeType": "ParameterList", + "parameters": [], + "src": "217:2:13" + }, + "payable": false, + "returnParameters": { + "id": 3412, + "nodeType": "ParameterList", + "parameters": [], + "src": "228:0:13" + }, + "scope": 3452, + "src": "198:56:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3430, + "nodeType": "Block", + "src": "314:44:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3426, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3401, + "src": "318:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3427, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3421, + "src": "345:9:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "318:36:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3429, + "nodeType": "ExpressionStatement", + "src": "318:36:13" + } + ] + }, + "documentation": null, + "id": 3431, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3424, + "modifierName": { + "argumentTypes": null, + "id": 3423, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "302:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "302:10:13" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3422, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3421, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 3431, + "src": "279:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3420, + "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": 3425, + "nodeType": "ParameterList", + "parameters": [], + "src": "314:0:13" + }, + "scope": 3452, + "src": "257:101:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3450, + "nodeType": "Block", + "src": "418:104:13", + "statements": [ + { + "assignments": [ + 3439 + ], + "declarations": [ + { + "constant": false, + "id": 3439, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 3451, + "src": "422:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3452", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 3438, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3452, + "src": "422:10:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3452", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3443, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3441, + "name": "new_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3433, + "src": "455:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3440, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3452, + "src": "444:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$3452_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "444:23:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3452", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "422:45:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3447, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3401, + "src": "493:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3444, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3439, + "src": "471:8:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3452", + "typeString": "contract Migrations" + } + }, + "id": 3446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 3431, + "src": "471:21:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "471:47:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3449, + "nodeType": "ExpressionStatement", + "src": "471:47:13" + } + ] + }, + "documentation": null, + "id": 3451, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3436, + "modifierName": { + "argumentTypes": null, + "id": 3435, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "406:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "406:10:13" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3433, + "name": "new_address", + "nodeType": "VariableDeclaration", + "scope": 3451, + "src": "378:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3432, + "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": 3437, + "nodeType": "ParameterList", + "parameters": [], + "src": "418:0:13" + }, + "scope": 3452, + "src": "361:161:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3453, + "src": "25:499:13" + } + ], + "src": "0:525:13" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 3452 + ] + }, + "id": 3453, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3397, + "literals": [ + "solidity", + "^", + "0.4", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "0:23:13" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3452, + "linearizedBaseContracts": [ + 3452 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3399, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 3452, + "src": "48:20:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3398, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3401, + "name": "last_completed_migration", + "nodeType": "VariableDeclaration", + "scope": 3452, + "src": "71:39:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3400, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "71:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 3409, + "nodeType": "Block", + "src": "137:58:13", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3403, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "145:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3404, + "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": 3405, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3399, + "src": "159:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "145:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3408, + "nodeType": "IfStatement", + "src": "141:26:13", + "trueBody": { + "id": 3407, + "nodeType": "PlaceholderStatement", + "src": "166:1:13" + } + } + ] + }, + "documentation": null, + "id": 3410, + "name": "restricted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3402, + "nodeType": "ParameterList", + "parameters": [], + "src": "133:2:13" + }, + "src": "114:81:13", + "visibility": "internal" + }, + { + "body": { + "id": 3418, + "nodeType": "Block", + "src": "228:26:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3413, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3399, + "src": "232:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3414, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "240:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3415, + "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": 3417, + "nodeType": "ExpressionStatement", + "src": "232:18:13" + } + ] + }, + "documentation": null, + "id": 3419, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Migrations", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3411, + "nodeType": "ParameterList", + "parameters": [], + "src": "217:2:13" + }, + "payable": false, + "returnParameters": { + "id": 3412, + "nodeType": "ParameterList", + "parameters": [], + "src": "228:0:13" + }, + "scope": 3452, + "src": "198:56:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3430, + "nodeType": "Block", + "src": "314:44:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3426, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3401, + "src": "318:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3427, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3421, + "src": "345:9:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "318:36:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3429, + "nodeType": "ExpressionStatement", + "src": "318:36:13" + } + ] + }, + "documentation": null, + "id": 3431, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3424, + "modifierName": { + "argumentTypes": null, + "id": 3423, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "302:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "302:10:13" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3422, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3421, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 3431, + "src": "279:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3420, + "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": 3425, + "nodeType": "ParameterList", + "parameters": [], + "src": "314:0:13" + }, + "scope": 3452, + "src": "257:101:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3450, + "nodeType": "Block", + "src": "418:104:13", + "statements": [ + { + "assignments": [ + 3439 + ], + "declarations": [ + { + "constant": false, + "id": 3439, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 3451, + "src": "422:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3452", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 3438, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3452, + "src": "422:10:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3452", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3443, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3441, + "name": "new_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3433, + "src": "455:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3440, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3452, + "src": "444:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$3452_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "444:23:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3452", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "422:45:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3447, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3401, + "src": "493:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3444, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3439, + "src": "471:8:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3452", + "typeString": "contract Migrations" + } + }, + "id": 3446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 3431, + "src": "471:21:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "471:47:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3449, + "nodeType": "ExpressionStatement", + "src": "471:47:13" + } + ] + }, + "documentation": null, + "id": 3451, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3436, + "modifierName": { + "argumentTypes": null, + "id": 3435, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "406:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "406:10:13" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3433, + "name": "new_address", + "nodeType": "VariableDeclaration", + "scope": 3451, + "src": "378:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3432, + "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": 3437, + "nodeType": "ParameterList", + "parameters": [], + "src": "418:0:13" + }, + "scope": 3452, + "src": "361:161:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3453, + "src": "25:499:13" + } + ], + "src": "0:525:13" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": { + "3": { + "events": {}, + "links": {}, + "address": "0x9a1eb11bcbc6cf50fda67519568bec2da3f8cad0", + "transactionHash": "0xd9228d595461f2b40484db0e82275a270ad6625f276bf202f8fc78666a4a28d0" + }, + "4": { + "events": {}, + "links": {}, + "address": "0x908ad2872339c6156afe3b38c9357c1ca89e67e8", + "transactionHash": "0x606911f71cd4985b547adeba3cc5097ab68ff2605bd520110730216e5defb724" + }, + "42": { + "events": {}, + "links": {}, + "address": "0x908ad2872339c6156afe3b38c9357c1ca89e67e8", + "transactionHash": "0x606911f71cd4985b547adeba3cc5097ab68ff2605bd520110730216e5defb724" + } + }, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T19:19:29.255Z" +} \ No newline at end of file diff --git a/build/contracts/Ownable.json b/build/contracts/Ownable.json new file mode 100644 index 00000000..ab6d02eb --- /dev/null +++ b/build/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": [ + 6147 + ] + }, + "id": 6148, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6108, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:21" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6147, + "linearizedBaseContracts": [ + 6147 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6110, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6147, + "src": "46:20:21", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6109, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "46:7:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 6118, + "nodeType": "Block", + "src": "90:29:21", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6113, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6110, + "src": "96:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6114, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "104:3:21", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6115, + "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": 6117, + "nodeType": "ExpressionStatement", + "src": "96:18:21" + } + ] + }, + "documentation": null, + "id": 6119, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Ownable", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6111, + "nodeType": "ParameterList", + "parameters": [], + "src": "87:2:21" + }, + "payable": false, + "returnParameters": { + "id": 6112, + "nodeType": "ParameterList", + "parameters": [], + "src": "90:0:21" + }, + "scope": 6147, + "src": "71:48:21", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6127, + "nodeType": "Block", + "src": "144:43:21", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6121, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "154:3:21", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6122, + "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": 6123, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6110, + "src": "168:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "154:19:21", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6126, + "nodeType": "IfStatement", + "src": "150:32:21", + "trueBody": { + "id": 6125, + "nodeType": "PlaceholderStatement", + "src": "181:1:21" + } + } + ] + }, + "documentation": null, + "id": 6128, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6120, + "nodeType": "ParameterList", + "parameters": [], + "src": "141:2:21" + }, + "src": "123:64:21", + "visibility": "internal" + }, + { + "body": { + "id": 6145, + "nodeType": "Block", + "src": "246:55:21", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6135, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6130, + "src": "256:8:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6137, + "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": 6136, + "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": 6138, + "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": 6144, + "nodeType": "IfStatement", + "src": "252:44:21", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 6142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6140, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6110, + "src": "280:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6141, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6130, + "src": "288:8:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "280:16:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6143, + "nodeType": "ExpressionStatement", + "src": "280:16:21" + } + } + ] + }, + "documentation": null, + "id": 6146, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6133, + "modifierName": { + "argumentTypes": null, + "id": 6132, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6128, + "src": "236:9:21", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "236:9:21" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6130, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 6146, + "src": "218:16:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6129, + "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": 6134, + "nodeType": "ParameterList", + "parameters": [], + "src": "246:0:21" + }, + "scope": 6147, + "src": "191:110:21", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6148, + "src": "25:279:21" + } + ], + "src": "0:304:21" + }, + "legacyAST": { + "absolutePath": "rlc-token/contracts/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 6147 + ] + }, + "id": 6148, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6108, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:21" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6147, + "linearizedBaseContracts": [ + 6147 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6110, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6147, + "src": "46:20:21", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6109, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "46:7:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 6118, + "nodeType": "Block", + "src": "90:29:21", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6113, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6110, + "src": "96:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6114, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "104:3:21", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6115, + "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": 6117, + "nodeType": "ExpressionStatement", + "src": "96:18:21" + } + ] + }, + "documentation": null, + "id": 6119, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Ownable", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6111, + "nodeType": "ParameterList", + "parameters": [], + "src": "87:2:21" + }, + "payable": false, + "returnParameters": { + "id": 6112, + "nodeType": "ParameterList", + "parameters": [], + "src": "90:0:21" + }, + "scope": 6147, + "src": "71:48:21", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6127, + "nodeType": "Block", + "src": "144:43:21", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6121, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "154:3:21", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6122, + "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": 6123, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6110, + "src": "168:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "154:19:21", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6126, + "nodeType": "IfStatement", + "src": "150:32:21", + "trueBody": { + "id": 6125, + "nodeType": "PlaceholderStatement", + "src": "181:1:21" + } + } + ] + }, + "documentation": null, + "id": 6128, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6120, + "nodeType": "ParameterList", + "parameters": [], + "src": "141:2:21" + }, + "src": "123:64:21", + "visibility": "internal" + }, + { + "body": { + "id": 6145, + "nodeType": "Block", + "src": "246:55:21", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6135, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6130, + "src": "256:8:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6137, + "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": 6136, + "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": 6138, + "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": 6144, + "nodeType": "IfStatement", + "src": "252:44:21", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 6142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6140, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6110, + "src": "280:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6141, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6130, + "src": "288:8:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "280:16:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6143, + "nodeType": "ExpressionStatement", + "src": "280:16:21" + } + } + ] + }, + "documentation": null, + "id": 6146, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6133, + "modifierName": { + "argumentTypes": null, + "id": 6132, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6128, + "src": "236:9:21", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "236:9:21" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6130, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 6146, + "src": "218:16:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6129, + "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": 6134, + "nodeType": "ParameterList", + "parameters": [], + "src": "246:0:21" + }, + "scope": 6147, + "src": "191:110:21", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6148, + "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-04-12T18:32:30.814Z" +} \ No newline at end of file diff --git a/build/contracts/OwnableOZ.json b/build/contracts/OwnableOZ.json new file mode 100644 index 00000000..d13c1c99 --- /dev/null +++ b/build/contracts/OwnableOZ.json @@ -0,0 +1,1447 @@ +{ + "contractName": "OwnableOZ", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "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": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a03199091161790556101768061003b6000396000f30060606040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663deff41c18114610050578063f2fde38b1461007f575b600080fd5b341561005b57600080fd5b6100636100a0565b604051600160a060020a03909116815260200160405180910390f35b341561008a57600080fd5b61009e600160a060020a03600435166100af565b005b600054600160a060020a031681565b60005433600160a060020a039081169116146100ca57600080fd5b600160a060020a03811615156100df57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820a86407fe8b5b50cba0cc789a6051458f3a1e01526722dcf4cb251431dda827310029", + "deployedBytecode": "0x60606040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663deff41c18114610050578063f2fde38b1461007f575b600080fd5b341561005b57600080fd5b6100636100a0565b604051600160a060020a03909116815260200160405180910390f35b341561008a57600080fd5b61009e600160a060020a03600435166100af565b005b600054600160a060020a031681565b60005433600160a060020a039081169116146100ca57600080fd5b600160a060020a03811615156100df57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820a86407fe8b5b50cba0cc789a6051458f3a1e01526722dcf4cb251431dda827310029", + "sourceMap": "216:781:14:-;;;604:57;;;;;;;;637:7;:20;;-1:-1:-1;;;;;647:10:14;637:20;-1:-1:-1;;;;;;637:20:14;;;;;;216:781;;;;;;", + "deployedSourceMap": "216:781:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:22:14;;;;;;;;;;;;;;818:176;;;;;;;;;;-1:-1:-1;;;;;818:176:14;;;;;;;238:22;;;-1:-1:-1;;;;;238:22:14;;:::o;818:176::-;472:7;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;894:23:14;;;;886:32;;;;;;948:7;;-1:-1:-1;;;;;927:40:14;;;;948:7;927:40;;;;;;;;;;971:7;:19;;-1:-1:-1;;971:19:14;-1:-1:-1;;;;;971:19:14;;;;;;;;;;818:176::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\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}\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 transferOwnership(address _newOwner) public onlyOwner\n\t{\n\t\trequire(_newOwner != address(0));\n\t\temit OwnershipTransferred(m_owner, _newOwner);\n\t\tm_owner = _newOwner;\n\t}\n\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "exportedSymbols": { + "OwnableOZ": [ + 3508 + ] + }, + "id": 3509, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3454, + "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": 3508, + "linearizedBaseContracts": [ + 3508 + ], + "name": "OwnableOZ", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3456, + "name": "m_owner", + "nodeType": "VariableDeclaration", + "scope": 3508, + "src": "238:22:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3455, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "238:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 3462, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 3461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3458, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 3462, + "src": "291:29:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "291:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3460, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 3462, + "src": "322:24:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3459, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "322:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "290:57:14" + }, + "src": "264:84:14" + }, + { + "body": { + "id": 3472, + "nodeType": "Block", + "src": "446:43:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3465, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "458:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "458:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3467, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3456, + "src": "472:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "458:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3464, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "450:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "450:30:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3470, + "nodeType": "ExpressionStatement", + "src": "450:30:14" + }, + { + "id": 3471, + "nodeType": "PlaceholderStatement", + "src": "484:1:14" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 3473, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3463, + "nodeType": "ParameterList", + "parameters": [], + "src": "442:2:14" + }, + "src": "424:65:14", + "visibility": "internal" + }, + { + "body": { + "id": 3481, + "nodeType": "Block", + "src": "633:28:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3476, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3456, + "src": "637:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3477, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "647:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "647:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "637:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3480, + "nodeType": "ExpressionStatement", + "src": "637:20:14" + } + ] + }, + "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", + "id": 3482, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "OwnableOZ", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3474, + "nodeType": "ParameterList", + "parameters": [], + "src": "622:2:14" + }, + "payable": false, + "returnParameters": { + "id": 3475, + "nodeType": "ParameterList", + "parameters": [], + "src": "633:0:14" + }, + "scope": 3508, + "src": "604:57:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3506, + "nodeType": "Block", + "src": "882:112:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3490, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3484, + "src": "894:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "915: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": 3491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "907:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "907:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "894:23:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3489, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "886:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "886:32:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3496, + "nodeType": "ExpressionStatement", + "src": "886:32:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3498, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3456, + "src": "948:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3499, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3484, + "src": "957:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3497, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3462, + "src": "927:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 3500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "927:40:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3501, + "nodeType": "EmitStatement", + "src": "922:45:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 3504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3502, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3456, + "src": "971:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3503, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3484, + "src": "981:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "971:19:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3505, + "nodeType": "ExpressionStatement", + "src": "971:19: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": 3507, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3487, + "modifierName": { + "argumentTypes": null, + "id": 3486, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "871:9:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "871:9:14" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3484, + "name": "_newOwner", + "nodeType": "VariableDeclaration", + "scope": 3507, + "src": "845:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3483, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "845:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "844:19:14" + }, + "payable": false, + "returnParameters": { + "id": 3488, + "nodeType": "ParameterList", + "parameters": [], + "src": "882:0:14" + }, + "scope": 3508, + "src": "818:176:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3509, + "src": "216:781:14" + } + ], + "src": "0:998:14" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "exportedSymbols": { + "OwnableOZ": [ + 3508 + ] + }, + "id": 3509, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3454, + "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": 3508, + "linearizedBaseContracts": [ + 3508 + ], + "name": "OwnableOZ", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3456, + "name": "m_owner", + "nodeType": "VariableDeclaration", + "scope": 3508, + "src": "238:22:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3455, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "238:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 3462, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 3461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3458, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 3462, + "src": "291:29:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "291:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3460, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 3462, + "src": "322:24:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3459, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "322:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "290:57:14" + }, + "src": "264:84:14" + }, + { + "body": { + "id": 3472, + "nodeType": "Block", + "src": "446:43:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3465, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "458:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "458:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3467, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3456, + "src": "472:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "458:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3464, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "450:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "450:30:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3470, + "nodeType": "ExpressionStatement", + "src": "450:30:14" + }, + { + "id": 3471, + "nodeType": "PlaceholderStatement", + "src": "484:1:14" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 3473, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3463, + "nodeType": "ParameterList", + "parameters": [], + "src": "442:2:14" + }, + "src": "424:65:14", + "visibility": "internal" + }, + { + "body": { + "id": 3481, + "nodeType": "Block", + "src": "633:28:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3476, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3456, + "src": "637:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3477, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "647:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "647:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "637:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3480, + "nodeType": "ExpressionStatement", + "src": "637:20:14" + } + ] + }, + "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", + "id": 3482, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "OwnableOZ", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3474, + "nodeType": "ParameterList", + "parameters": [], + "src": "622:2:14" + }, + "payable": false, + "returnParameters": { + "id": 3475, + "nodeType": "ParameterList", + "parameters": [], + "src": "633:0:14" + }, + "scope": 3508, + "src": "604:57:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3506, + "nodeType": "Block", + "src": "882:112:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3490, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3484, + "src": "894:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "915: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": 3491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "907:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "907:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "894:23:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3489, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "886:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "886:32:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3496, + "nodeType": "ExpressionStatement", + "src": "886:32:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3498, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3456, + "src": "948:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3499, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3484, + "src": "957:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3497, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3462, + "src": "927:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 3500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "927:40:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3501, + "nodeType": "EmitStatement", + "src": "922:45:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 3504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3502, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3456, + "src": "971:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3503, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3484, + "src": "981:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "971:19:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3505, + "nodeType": "ExpressionStatement", + "src": "971:19: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": 3507, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3487, + "modifierName": { + "argumentTypes": null, + "id": 3486, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "871:9:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "871:9:14" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3484, + "name": "_newOwner", + "nodeType": "VariableDeclaration", + "scope": 3507, + "src": "845:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3483, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "845:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "844:19:14" + }, + "payable": false, + "returnParameters": { + "id": 3488, + "nodeType": "ParameterList", + "parameters": [], + "src": "882:0:14" + }, + "scope": 3508, + "src": "818:176:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3509, + "src": "216:781:14" + } + ], + "src": "0:998:14" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T18:32:30.797Z" +} \ No newline at end of file diff --git a/build/contracts/RLC.json b/build/contracts/RLC.json new file mode 100644 index 00000000..d4110118 --- /dev/null +++ b/build/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": [ + 6476 + ] + }, + "id": 6477, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6149, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:22" + }, + { + "absolutePath": "rlc-token/contracts/Ownable.sol", + "file": "./Ownable.sol", + "id": 6150, + "nodeType": "ImportDirective", + "scope": 6477, + "sourceUnit": 6148, + "src": "25:23:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/SafeMath.sol", + "file": "./SafeMath.sol", + "id": 6151, + "nodeType": "ImportDirective", + "scope": 6477, + "sourceUnit": 6673, + "src": "49:24:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/ERC20.sol", + "file": "./ERC20.sol", + "id": 6152, + "nodeType": "ImportDirective", + "scope": 6477, + "sourceUnit": 6107, + "src": "74:21:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/TokenSpender.sol", + "file": "./TokenSpender.sol", + "id": 6153, + "nodeType": "ImportDirective", + "scope": 6477, + "sourceUnit": 6687, + "src": "96:28:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6154, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6106, + "src": "141:5:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$6106", + "typeString": "contract ERC20" + } + }, + "id": 6155, + "nodeType": "InheritanceSpecifier", + "src": "141:5:22" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6156, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6672, + "src": "148:8:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$6672", + "typeString": "contract SafeMath" + } + }, + "id": 6157, + "nodeType": "InheritanceSpecifier", + "src": "148:8:22" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6158, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6147, + "src": "158:7:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$6147", + "typeString": "contract Ownable" + } + }, + "id": 6159, + "nodeType": "InheritanceSpecifier", + "src": "158:7:22" + } + ], + "contractDependencies": [ + 6106, + 6147, + 6672 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6476, + "linearizedBaseContracts": [ + 6476, + 6147, + 6672, + 6106 + ], + "name": "RLC", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6161, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "211:18:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 6160, + "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": 6163, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "252:20:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 6162, + "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": 6165, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "276:21:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 6164, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "276:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6168, + "name": "version", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "333:30:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 6166, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "333:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "76302e31", + "id": 6167, + "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": 6170, + "name": "initialSupply", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "368:25:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6169, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "368:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6172, + "name": "totalSupply", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "397:23:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6171, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "397:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6174, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "424:18:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6173, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "424:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6178, + "name": "balances", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "476:33:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 6177, + "keyType": { + "id": 6175, + "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": 6176, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "495:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6184, + "name": "allowed", + "nodeType": "VariableDeclaration", + "scope": 6476, + "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": 6183, + "keyType": { + "id": 6179, + "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": 6182, + "keyType": { + "id": 6180, + "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": 6181, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "553:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 6195, + "nodeType": "Block", + "src": "630:58:22", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6186, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "640:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6187, + "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": 6188, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6110, + "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": 6190, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6174, + "src": "663:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "640:29:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6193, + "nodeType": "IfStatement", + "src": "636:40:22", + "trueBody": { + "id": 6192, + "nodeType": "Throw", + "src": "671:5:22" + } + }, + { + "id": 6194, + "nodeType": "PlaceholderStatement", + "src": "682:1:22" + } + ] + }, + "documentation": null, + "id": 6196, + "name": "onlyUnlocked", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6185, + "nodeType": "ParameterList", + "parameters": [], + "src": "627:2:22" + }, + "src": "606:82:22", + "visibility": "internal" + }, + { + "body": { + "id": 6230, + "nodeType": "Block", + "src": "788:586:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6199, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6174, + "src": "849:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6200, + "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": 6202, + "nodeType": "ExpressionStatement", + "src": "849:13:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6203, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6170, + "src": "952:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3837303030303030303030303030303030", + "id": 6204, + "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": 6206, + "nodeType": "ExpressionStatement", + "src": "952:33:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6207, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6172, + "src": "991:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6208, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6170, + "src": "1005:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "991:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6210, + "nodeType": "ExpressionStatement", + "src": "991:27:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6211, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1024:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6214, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1033:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6213, + "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": 6215, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6170, + "src": "1047:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1024:36:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6217, + "nodeType": "ExpressionStatement", + "src": "1024:36:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6218, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6161, + "src": "1124:4:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "6945782e6563204e6574776f726b20546f6b656e", + "id": 6219, + "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": 6221, + "nodeType": "ExpressionStatement", + "src": "1124:29:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6222, + "name": "symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6163, + "src": "1208:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "524c43", + "id": 6223, + "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": 6225, + "nodeType": "ExpressionStatement", + "src": "1208:14:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6226, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6165, + "src": "1291:8:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "39", + "id": 6227, + "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": 6229, + "nodeType": "ExpressionStatement", + "src": "1291:12:22" + } + ] + }, + "documentation": null, + "id": 6231, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "RLC", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6197, + "nodeType": "ParameterList", + "parameters": [], + "src": "785:2:22" + }, + "payable": false, + "returnParameters": { + "id": 6198, + "nodeType": "ParameterList", + "parameters": [], + "src": "788:0:22" + }, + "scope": 6476, + "src": "773:601:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6240, + "nodeType": "Block", + "src": "1406:25:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6236, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6174, + "src": "1412:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6237, + "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": 6239, + "nodeType": "ExpressionStatement", + "src": "1412:14:22" + } + ] + }, + "documentation": null, + "id": 6241, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6234, + "modifierName": { + "argumentTypes": null, + "id": 6233, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6128, + "src": "1396:9:22", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1396:9:22" + } + ], + "name": "unlock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6232, + "nodeType": "ParameterList", + "parameters": [], + "src": "1393:2:22" + }, + "payable": false, + "returnParameters": { + "id": 6235, + "nodeType": "ParameterList", + "parameters": [], + "src": "1406:0:22" + }, + "scope": 6476, + "src": "1378:53:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6277, + "nodeType": "Block", + "src": "1479:176:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6248, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1485:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6251, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6249, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1494:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6250, + "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": 6253, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1516:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6256, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6254, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1525:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6255, + "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": 6257, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6243, + "src": "1538:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6252, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6564, + "src": "1508:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6258, + "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": 6260, + "nodeType": "ExpressionStatement", + "src": "1485:60:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6261, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6172, + "src": "1552:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6263, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6172, + "src": "1574:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6264, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6243, + "src": "1587:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6262, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6564, + "src": "1566:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6265, + "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": 6267, + "nodeType": "ExpressionStatement", + "src": "1552:42:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6269, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1609:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6270, + "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": 6271, + "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": 6272, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6243, + "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": 6268, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "1600:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1600:33:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6274, + "nodeType": "ExpressionStatement", + "src": "1600:33:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6275, + "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": 6247, + "id": 6276, + "nodeType": "Return", + "src": "1639:11:22" + } + ] + }, + "documentation": null, + "id": 6278, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "burn", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6244, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6243, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6278, + "src": "1449:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6242, + "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": 6247, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6246, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6278, + "src": "1474:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6245, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1474:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1473:6:22" + }, + "scope": 6476, + "src": "1435:220:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6322, + "nodeType": "Block", + "src": "1731:179:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6289, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1737:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6292, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6290, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1746:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6291, + "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": 6294, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1768:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6297, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6295, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1777:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6296, + "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": 6298, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6282, + "src": "1790:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6293, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6564, + "src": "1760:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6299, + "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": 6301, + "nodeType": "ExpressionStatement", + "src": "1737:60:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6302, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1803:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6304, + "indexExpression": { + "argumentTypes": null, + "id": 6303, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6280, + "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": 6306, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1827:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6308, + "indexExpression": { + "argumentTypes": null, + "id": 6307, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6280, + "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": 6309, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6282, + "src": "1842:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6305, + "name": "safeAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6592, + "src": "1819:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6310, + "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": 6312, + "nodeType": "ExpressionStatement", + "src": "1803:46:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6314, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1864:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6315, + "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": 6316, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6280, + "src": "1876:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6317, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6282, + "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": 6313, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "1855:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1855:33:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6319, + "nodeType": "ExpressionStatement", + "src": "1855:33:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6320, + "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": 6288, + "id": 6321, + "nodeType": "Return", + "src": "1894:11:22" + } + ] + }, + "documentation": null, + "id": 6323, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6285, + "modifierName": { + "argumentTypes": null, + "id": 6284, + "name": "onlyUnlocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6196, + "src": "1703:12:22", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1703:12:22" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6280, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 6323, + "src": "1677:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6279, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1677:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6282, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6323, + "src": "1690:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6281, + "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": 6288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6287, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6323, + "src": "1725:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6286, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1725:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1724:6:22" + }, + "scope": 6476, + "src": "1659:251:22", + "stateMutability": "nonpayable", + "superFunction": 6069, + "visibility": "public" + }, + { + "body": { + "id": 6386, + "nodeType": "Block", + "src": "2005:280:22", + "statements": [ + { + "assignments": [ + 6336 + ], + "declarations": [ + { + "constant": false, + "id": 6336, + "name": "_allowance", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "2011:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": null, + "value": null, + "visibility": "internal" + } + ], + "id": 6343, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6337, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6184, + "src": "2028:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6339, + "indexExpression": { + "argumentTypes": null, + "id": 6338, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6325, + "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": 6342, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6340, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2043:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6341, + "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": 6353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6344, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "2065:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6346, + "indexExpression": { + "argumentTypes": null, + "id": 6345, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6327, + "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": 6348, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "2089:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6350, + "indexExpression": { + "argumentTypes": null, + "id": 6349, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6327, + "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": 6351, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6329, + "src": "2104:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6347, + "name": "safeAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6592, + "src": "2081:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6352, + "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": 6354, + "nodeType": "ExpressionStatement", + "src": "2065:46:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6355, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "2117:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6357, + "indexExpression": { + "argumentTypes": null, + "id": 6356, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6325, + "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": 6359, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "2143:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6361, + "indexExpression": { + "argumentTypes": null, + "id": 6360, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6325, + "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": 6362, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6329, + "src": "2160:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6358, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6564, + "src": "2135:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6363, + "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": 6365, + "nodeType": "ExpressionStatement", + "src": "2117:50:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6366, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6184, + "src": "2173:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6370, + "indexExpression": { + "argumentTypes": null, + "id": 6367, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6325, + "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": 6371, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6368, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2188:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6369, + "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": 6373, + "name": "_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6336, + "src": "2210:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6374, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6329, + "src": "2222:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6372, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6564, + "src": "2202:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6375, + "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": 6377, + "nodeType": "ExpressionStatement", + "src": "2173:56:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6379, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6325, + "src": "2244:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6380, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6327, + "src": "2251:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6381, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6329, + "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": 6378, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "2235:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2235:28:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6383, + "nodeType": "ExpressionStatement", + "src": "2235:28:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6384, + "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": 6335, + "id": 6385, + "nodeType": "Return", + "src": "2269:11:22" + } + ] + }, + "documentation": null, + "id": 6387, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6332, + "modifierName": { + "argumentTypes": null, + "id": 6331, + "name": "onlyUnlocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6196, + "src": "1977:12:22", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1977:12:22" + } + ], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6330, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6325, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "1936:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6324, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1936:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6327, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "1951:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1951:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6329, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "1964:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6328, + "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": 6335, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6334, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "1999:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6333, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1999:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1998:6:22" + }, + "scope": 6476, + "src": "1914:371:22", + "stateMutability": "nonpayable", + "superFunction": 6080, + "visibility": "public" + }, + { + "body": { + "id": 6398, + "nodeType": "Block", + "src": "2356:34:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6394, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "2369:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6396, + "indexExpression": { + "argumentTypes": null, + "id": 6395, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6389, + "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": 6393, + "id": 6397, + "nodeType": "Return", + "src": "2362:23:22" + } + ] + }, + "documentation": null, + "id": 6399, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6389, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6399, + "src": "2308:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6388, + "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": 6393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6392, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 6399, + "src": "2342:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6391, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2342:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2341:14:22" + }, + "scope": 6476, + "src": "2289:101:22", + "stateMutability": "view", + "superFunction": 6051, + "visibility": "public" + }, + { + "body": { + "id": 6426, + "nodeType": "Block", + "src": "2457:110:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6408, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6184, + "src": "2463:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6412, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6409, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2471:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6410, + "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": 6413, + "indexExpression": { + "argumentTypes": null, + "id": 6411, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6401, + "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": 6414, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6403, + "src": "2495:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2463:38:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6416, + "nodeType": "ExpressionStatement", + "src": "2463:38:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6418, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2516:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6419, + "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": 6420, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6401, + "src": "2528:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6421, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6403, + "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": 6417, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6105, + "src": "2507:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2507:38:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6423, + "nodeType": "ExpressionStatement", + "src": "2507:38:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6424, + "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": 6407, + "id": 6425, + "nodeType": "Return", + "src": "2551:11:22" + } + ] + }, + "documentation": null, + "id": 6427, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6404, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6401, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 6427, + "src": "2411:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6400, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2411:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6403, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6427, + "src": "2429:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6402, + "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": 6407, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6406, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6427, + "src": "2451:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6405, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2451:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2450:6:22" + }, + "scope": 6476, + "src": "2394:173:22", + "stateMutability": "nonpayable", + "superFunction": 6089, + "visibility": "public" + }, + { + "body": { + "id": 6458, + "nodeType": "Block", + "src": "2721:182:22", + "statements": [ + { + "assignments": [ + 6437 + ], + "declarations": [ + { + "constant": false, + "id": 6437, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6459, + "src": "2733:20:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6686", + "typeString": "contract TokenSpender" + }, + "typeName": { + "contractScope": null, + "id": 6436, + "name": "TokenSpender", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6686, + "src": "2733:12:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6686", + "typeString": "contract TokenSpender" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6441, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6439, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6429, + "src": "2769:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6438, + "name": "TokenSpender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6686, + "src": "2756:12:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TokenSpender_$6686_$", + "typeString": "type(contract TokenSpender)" + } + }, + "id": 6440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2756:22:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6686", + "typeString": "contract TokenSpender" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2733:45:22" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6443, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6429, + "src": "2798:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6444, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6431, + "src": "2808:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6442, + "name": "approve", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6427 + ], + "referencedDeclaration": 6427, + "src": "2790:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 6445, + "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": 6457, + "nodeType": "IfStatement", + "src": "2786:113:22", + "trueBody": { + "id": 6456, + "nodeType": "Block", + "src": "2817:82:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6449, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2853:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6450, + "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": 6451, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6431, + "src": "2865:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6452, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6738, + "src": "2873:4:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + { + "argumentTypes": null, + "id": 6453, + "name": "_extraData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6433, + "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_$6476", + "typeString": "contract RLC" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 6446, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "2829:7:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6686", + "typeString": "contract TokenSpender" + } + }, + "id": 6448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "receiveApproval", + "nodeType": "MemberAccess", + "referencedDeclaration": 6685, + "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": 6454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2829:61:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6455, + "nodeType": "ExpressionStatement", + "src": "2829:61:22" + } + ] + } + } + ] + }, + "documentation": null, + "id": 6459, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approveAndCall", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6429, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 6459, + "src": "2670:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6428, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2670:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6431, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6459, + "src": "2688:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2688:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6433, + "name": "_extraData", + "nodeType": "VariableDeclaration", + "scope": 6459, + "src": "2704:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + "typeName": { + "id": 6432, + "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": 6435, + "nodeType": "ParameterList", + "parameters": [], + "src": "2721:0:22" + }, + "scope": 6476, + "src": "2646:257:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6474, + "nodeType": "Block", + "src": "2994:43:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6468, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6184, + "src": "3007:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6470, + "indexExpression": { + "argumentTypes": null, + "id": 6469, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6461, + "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": 6472, + "indexExpression": { + "argumentTypes": null, + "id": 6471, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6463, + "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": 6467, + "id": 6473, + "nodeType": "Return", + "src": "3000:32:22" + } + ] + }, + "documentation": null, + "id": 6475, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6464, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6461, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6475, + "src": "2926:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6460, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2926:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6463, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 6475, + "src": "2942:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6462, + "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": 6467, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6466, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 6475, + "src": "2978:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6465, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2978:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2977:16:22" + }, + "scope": 6476, + "src": "2907:130:22", + "stateMutability": "view", + "superFunction": 6060, + "visibility": "public" + } + ], + "scope": 6477, + "src": "125:2917:22" + } + ], + "src": "0:3044:22" + }, + "legacyAST": { + "absolutePath": "rlc-token/contracts/RLC.sol", + "exportedSymbols": { + "RLC": [ + 6476 + ] + }, + "id": 6477, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6149, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:22" + }, + { + "absolutePath": "rlc-token/contracts/Ownable.sol", + "file": "./Ownable.sol", + "id": 6150, + "nodeType": "ImportDirective", + "scope": 6477, + "sourceUnit": 6148, + "src": "25:23:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/SafeMath.sol", + "file": "./SafeMath.sol", + "id": 6151, + "nodeType": "ImportDirective", + "scope": 6477, + "sourceUnit": 6673, + "src": "49:24:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/ERC20.sol", + "file": "./ERC20.sol", + "id": 6152, + "nodeType": "ImportDirective", + "scope": 6477, + "sourceUnit": 6107, + "src": "74:21:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/TokenSpender.sol", + "file": "./TokenSpender.sol", + "id": 6153, + "nodeType": "ImportDirective", + "scope": 6477, + "sourceUnit": 6687, + "src": "96:28:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6154, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6106, + "src": "141:5:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$6106", + "typeString": "contract ERC20" + } + }, + "id": 6155, + "nodeType": "InheritanceSpecifier", + "src": "141:5:22" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6156, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6672, + "src": "148:8:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$6672", + "typeString": "contract SafeMath" + } + }, + "id": 6157, + "nodeType": "InheritanceSpecifier", + "src": "148:8:22" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6158, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6147, + "src": "158:7:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$6147", + "typeString": "contract Ownable" + } + }, + "id": 6159, + "nodeType": "InheritanceSpecifier", + "src": "158:7:22" + } + ], + "contractDependencies": [ + 6106, + 6147, + 6672 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6476, + "linearizedBaseContracts": [ + 6476, + 6147, + 6672, + 6106 + ], + "name": "RLC", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6161, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "211:18:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 6160, + "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": 6163, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "252:20:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 6162, + "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": 6165, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "276:21:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 6164, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "276:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6168, + "name": "version", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "333:30:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 6166, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "333:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "76302e31", + "id": 6167, + "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": 6170, + "name": "initialSupply", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "368:25:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6169, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "368:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6172, + "name": "totalSupply", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "397:23:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6171, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "397:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6174, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "424:18:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6173, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "424:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6178, + "name": "balances", + "nodeType": "VariableDeclaration", + "scope": 6476, + "src": "476:33:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 6177, + "keyType": { + "id": 6175, + "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": 6176, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "495:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6184, + "name": "allowed", + "nodeType": "VariableDeclaration", + "scope": 6476, + "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": 6183, + "keyType": { + "id": 6179, + "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": 6182, + "keyType": { + "id": 6180, + "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": 6181, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "553:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 6195, + "nodeType": "Block", + "src": "630:58:22", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6186, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "640:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6187, + "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": 6188, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6110, + "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": 6190, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6174, + "src": "663:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "640:29:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6193, + "nodeType": "IfStatement", + "src": "636:40:22", + "trueBody": { + "id": 6192, + "nodeType": "Throw", + "src": "671:5:22" + } + }, + { + "id": 6194, + "nodeType": "PlaceholderStatement", + "src": "682:1:22" + } + ] + }, + "documentation": null, + "id": 6196, + "name": "onlyUnlocked", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6185, + "nodeType": "ParameterList", + "parameters": [], + "src": "627:2:22" + }, + "src": "606:82:22", + "visibility": "internal" + }, + { + "body": { + "id": 6230, + "nodeType": "Block", + "src": "788:586:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6199, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6174, + "src": "849:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6200, + "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": 6202, + "nodeType": "ExpressionStatement", + "src": "849:13:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6203, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6170, + "src": "952:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3837303030303030303030303030303030", + "id": 6204, + "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": 6206, + "nodeType": "ExpressionStatement", + "src": "952:33:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6207, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6172, + "src": "991:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6208, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6170, + "src": "1005:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "991:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6210, + "nodeType": "ExpressionStatement", + "src": "991:27:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6211, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1024:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6214, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1033:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6213, + "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": 6215, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6170, + "src": "1047:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1024:36:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6217, + "nodeType": "ExpressionStatement", + "src": "1024:36:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6218, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6161, + "src": "1124:4:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "6945782e6563204e6574776f726b20546f6b656e", + "id": 6219, + "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": 6221, + "nodeType": "ExpressionStatement", + "src": "1124:29:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6222, + "name": "symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6163, + "src": "1208:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "524c43", + "id": 6223, + "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": 6225, + "nodeType": "ExpressionStatement", + "src": "1208:14:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6226, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6165, + "src": "1291:8:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "39", + "id": 6227, + "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": 6229, + "nodeType": "ExpressionStatement", + "src": "1291:12:22" + } + ] + }, + "documentation": null, + "id": 6231, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "RLC", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6197, + "nodeType": "ParameterList", + "parameters": [], + "src": "785:2:22" + }, + "payable": false, + "returnParameters": { + "id": 6198, + "nodeType": "ParameterList", + "parameters": [], + "src": "788:0:22" + }, + "scope": 6476, + "src": "773:601:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6240, + "nodeType": "Block", + "src": "1406:25:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6236, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6174, + "src": "1412:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6237, + "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": 6239, + "nodeType": "ExpressionStatement", + "src": "1412:14:22" + } + ] + }, + "documentation": null, + "id": 6241, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6234, + "modifierName": { + "argumentTypes": null, + "id": 6233, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6128, + "src": "1396:9:22", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1396:9:22" + } + ], + "name": "unlock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6232, + "nodeType": "ParameterList", + "parameters": [], + "src": "1393:2:22" + }, + "payable": false, + "returnParameters": { + "id": 6235, + "nodeType": "ParameterList", + "parameters": [], + "src": "1406:0:22" + }, + "scope": 6476, + "src": "1378:53:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6277, + "nodeType": "Block", + "src": "1479:176:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6248, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1485:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6251, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6249, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1494:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6250, + "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": 6253, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1516:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6256, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6254, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1525:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6255, + "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": 6257, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6243, + "src": "1538:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6252, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6564, + "src": "1508:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6258, + "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": 6260, + "nodeType": "ExpressionStatement", + "src": "1485:60:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6261, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6172, + "src": "1552:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6263, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6172, + "src": "1574:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6264, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6243, + "src": "1587:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6262, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6564, + "src": "1566:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6265, + "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": 6267, + "nodeType": "ExpressionStatement", + "src": "1552:42:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6269, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1609:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6270, + "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": 6271, + "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": 6272, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6243, + "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": 6268, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "1600:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1600:33:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6274, + "nodeType": "ExpressionStatement", + "src": "1600:33:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6275, + "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": 6247, + "id": 6276, + "nodeType": "Return", + "src": "1639:11:22" + } + ] + }, + "documentation": null, + "id": 6278, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "burn", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6244, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6243, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6278, + "src": "1449:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6242, + "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": 6247, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6246, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6278, + "src": "1474:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6245, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1474:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1473:6:22" + }, + "scope": 6476, + "src": "1435:220:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6322, + "nodeType": "Block", + "src": "1731:179:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6289, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1737:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6292, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6290, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1746:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6291, + "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": 6294, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1768:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6297, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6295, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1777:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6296, + "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": 6298, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6282, + "src": "1790:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6293, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6564, + "src": "1760:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6299, + "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": 6301, + "nodeType": "ExpressionStatement", + "src": "1737:60:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6302, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1803:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6304, + "indexExpression": { + "argumentTypes": null, + "id": 6303, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6280, + "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": 6306, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "1827:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6308, + "indexExpression": { + "argumentTypes": null, + "id": 6307, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6280, + "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": 6309, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6282, + "src": "1842:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6305, + "name": "safeAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6592, + "src": "1819:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6310, + "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": 6312, + "nodeType": "ExpressionStatement", + "src": "1803:46:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6314, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1864:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6315, + "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": 6316, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6280, + "src": "1876:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6317, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6282, + "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": 6313, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "1855:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1855:33:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6319, + "nodeType": "ExpressionStatement", + "src": "1855:33:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6320, + "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": 6288, + "id": 6321, + "nodeType": "Return", + "src": "1894:11:22" + } + ] + }, + "documentation": null, + "id": 6323, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6285, + "modifierName": { + "argumentTypes": null, + "id": 6284, + "name": "onlyUnlocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6196, + "src": "1703:12:22", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1703:12:22" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6280, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 6323, + "src": "1677:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6279, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1677:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6282, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6323, + "src": "1690:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6281, + "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": 6288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6287, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6323, + "src": "1725:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6286, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1725:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1724:6:22" + }, + "scope": 6476, + "src": "1659:251:22", + "stateMutability": "nonpayable", + "superFunction": 6069, + "visibility": "public" + }, + { + "body": { + "id": 6386, + "nodeType": "Block", + "src": "2005:280:22", + "statements": [ + { + "assignments": [ + 6336 + ], + "declarations": [ + { + "constant": false, + "id": 6336, + "name": "_allowance", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "2011:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": null, + "value": null, + "visibility": "internal" + } + ], + "id": 6343, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6337, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6184, + "src": "2028:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6339, + "indexExpression": { + "argumentTypes": null, + "id": 6338, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6325, + "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": 6342, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6340, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2043:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6341, + "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": 6353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6344, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "2065:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6346, + "indexExpression": { + "argumentTypes": null, + "id": 6345, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6327, + "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": 6348, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "2089:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6350, + "indexExpression": { + "argumentTypes": null, + "id": 6349, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6327, + "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": 6351, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6329, + "src": "2104:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6347, + "name": "safeAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6592, + "src": "2081:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6352, + "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": 6354, + "nodeType": "ExpressionStatement", + "src": "2065:46:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6355, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "2117:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6357, + "indexExpression": { + "argumentTypes": null, + "id": 6356, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6325, + "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": 6359, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "2143:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6361, + "indexExpression": { + "argumentTypes": null, + "id": 6360, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6325, + "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": 6362, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6329, + "src": "2160:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6358, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6564, + "src": "2135:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6363, + "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": 6365, + "nodeType": "ExpressionStatement", + "src": "2117:50:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6366, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6184, + "src": "2173:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6370, + "indexExpression": { + "argumentTypes": null, + "id": 6367, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6325, + "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": 6371, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6368, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2188:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6369, + "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": 6373, + "name": "_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6336, + "src": "2210:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6374, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6329, + "src": "2222:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6372, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6564, + "src": "2202:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6375, + "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": 6377, + "nodeType": "ExpressionStatement", + "src": "2173:56:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6379, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6325, + "src": "2244:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6380, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6327, + "src": "2251:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6381, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6329, + "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": 6378, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "2235:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2235:28:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6383, + "nodeType": "ExpressionStatement", + "src": "2235:28:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6384, + "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": 6335, + "id": 6385, + "nodeType": "Return", + "src": "2269:11:22" + } + ] + }, + "documentation": null, + "id": 6387, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6332, + "modifierName": { + "argumentTypes": null, + "id": 6331, + "name": "onlyUnlocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6196, + "src": "1977:12:22", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1977:12:22" + } + ], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6330, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6325, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "1936:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6324, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1936:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6327, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "1951:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1951:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6329, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "1964:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6328, + "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": 6335, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6334, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "1999:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6333, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1999:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1998:6:22" + }, + "scope": 6476, + "src": "1914:371:22", + "stateMutability": "nonpayable", + "superFunction": 6080, + "visibility": "public" + }, + { + "body": { + "id": 6398, + "nodeType": "Block", + "src": "2356:34:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6394, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6178, + "src": "2369:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6396, + "indexExpression": { + "argumentTypes": null, + "id": 6395, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6389, + "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": 6393, + "id": 6397, + "nodeType": "Return", + "src": "2362:23:22" + } + ] + }, + "documentation": null, + "id": 6399, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6389, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6399, + "src": "2308:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6388, + "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": 6393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6392, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 6399, + "src": "2342:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6391, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2342:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2341:14:22" + }, + "scope": 6476, + "src": "2289:101:22", + "stateMutability": "view", + "superFunction": 6051, + "visibility": "public" + }, + { + "body": { + "id": 6426, + "nodeType": "Block", + "src": "2457:110:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6408, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6184, + "src": "2463:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6412, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6409, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2471:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6410, + "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": 6413, + "indexExpression": { + "argumentTypes": null, + "id": 6411, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6401, + "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": 6414, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6403, + "src": "2495:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2463:38:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6416, + "nodeType": "ExpressionStatement", + "src": "2463:38:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6418, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2516:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6419, + "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": 6420, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6401, + "src": "2528:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6421, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6403, + "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": 6417, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6105, + "src": "2507:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2507:38:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6423, + "nodeType": "ExpressionStatement", + "src": "2507:38:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6424, + "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": 6407, + "id": 6425, + "nodeType": "Return", + "src": "2551:11:22" + } + ] + }, + "documentation": null, + "id": 6427, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6404, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6401, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 6427, + "src": "2411:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6400, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2411:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6403, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6427, + "src": "2429:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6402, + "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": 6407, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6406, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6427, + "src": "2451:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6405, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2451:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2450:6:22" + }, + "scope": 6476, + "src": "2394:173:22", + "stateMutability": "nonpayable", + "superFunction": 6089, + "visibility": "public" + }, + { + "body": { + "id": 6458, + "nodeType": "Block", + "src": "2721:182:22", + "statements": [ + { + "assignments": [ + 6437 + ], + "declarations": [ + { + "constant": false, + "id": 6437, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6459, + "src": "2733:20:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6686", + "typeString": "contract TokenSpender" + }, + "typeName": { + "contractScope": null, + "id": 6436, + "name": "TokenSpender", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6686, + "src": "2733:12:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6686", + "typeString": "contract TokenSpender" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6441, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6439, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6429, + "src": "2769:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6438, + "name": "TokenSpender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6686, + "src": "2756:12:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TokenSpender_$6686_$", + "typeString": "type(contract TokenSpender)" + } + }, + "id": 6440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2756:22:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6686", + "typeString": "contract TokenSpender" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2733:45:22" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6443, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6429, + "src": "2798:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6444, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6431, + "src": "2808:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6442, + "name": "approve", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6427 + ], + "referencedDeclaration": 6427, + "src": "2790:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 6445, + "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": 6457, + "nodeType": "IfStatement", + "src": "2786:113:22", + "trueBody": { + "id": 6456, + "nodeType": "Block", + "src": "2817:82:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6449, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2853:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6450, + "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": 6451, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6431, + "src": "2865:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6452, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6738, + "src": "2873:4:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6476", + "typeString": "contract RLC" + } + }, + { + "argumentTypes": null, + "id": 6453, + "name": "_extraData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6433, + "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_$6476", + "typeString": "contract RLC" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 6446, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "2829:7:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6686", + "typeString": "contract TokenSpender" + } + }, + "id": 6448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "receiveApproval", + "nodeType": "MemberAccess", + "referencedDeclaration": 6685, + "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": 6454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2829:61:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6455, + "nodeType": "ExpressionStatement", + "src": "2829:61:22" + } + ] + } + } + ] + }, + "documentation": null, + "id": 6459, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approveAndCall", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6429, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 6459, + "src": "2670:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6428, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2670:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6431, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6459, + "src": "2688:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2688:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6433, + "name": "_extraData", + "nodeType": "VariableDeclaration", + "scope": 6459, + "src": "2704:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + "typeName": { + "id": 6432, + "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": 6435, + "nodeType": "ParameterList", + "parameters": [], + "src": "2721:0:22" + }, + "scope": 6476, + "src": "2646:257:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6474, + "nodeType": "Block", + "src": "2994:43:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6468, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6184, + "src": "3007:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6470, + "indexExpression": { + "argumentTypes": null, + "id": 6469, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6461, + "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": 6472, + "indexExpression": { + "argumentTypes": null, + "id": 6471, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6463, + "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": 6467, + "id": 6473, + "nodeType": "Return", + "src": "3000:32:22" + } + ] + }, + "documentation": null, + "id": 6475, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6464, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6461, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6475, + "src": "2926:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6460, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2926:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6463, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 6475, + "src": "2942:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6462, + "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": 6467, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6466, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 6475, + "src": "2978:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6465, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2978:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2977:16:22" + }, + "scope": 6476, + "src": "2907:130:22", + "stateMutability": "view", + "superFunction": 6060, + "visibility": "public" + } + ], + "scope": 6477, + "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-04-12T19:19:29.259Z" +} \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json new file mode 100644 index 00000000..93fb2e43 --- /dev/null +++ b/build/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": [ + 6672 + ] + }, + "id": 6673, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6478, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:23" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6672, + "linearizedBaseContracts": [ + 6672 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 6507, + "nodeType": "Block", + "src": "104:73:23", + "statements": [ + { + "assignments": [ + 6488 + ], + "declarations": [ + { + "constant": false, + "id": 6488, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6508, + "src": "110:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6487, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "110:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6492, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6489, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6480, + "src": "119:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 6490, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6482, + "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": 6502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6494, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6480, + "src": "137:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6495, + "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": 6501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6497, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6488, + "src": "147:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 6498, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6480, + "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": 6500, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6482, + "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": 6493, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "130:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "130:28:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6504, + "nodeType": "ExpressionStatement", + "src": "130:28:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6505, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6488, + "src": "171:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6486, + "id": 6506, + "nodeType": "Return", + "src": "164:8:23" + } + ] + }, + "documentation": null, + "id": 6508, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeMul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6480, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6508, + "src": "64:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6479, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "64:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6482, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6508, + "src": "72:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6481, + "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": 6486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6485, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6508, + "src": "98:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6484, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "98:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "97:6:23" + }, + "scope": 6672, + "src": "47:130:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6543, + "nodeType": "Block", + "src": "238:90:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6518, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6512, + "src": "251:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6519, + "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": 6517, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "244:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "244:13:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6522, + "nodeType": "ExpressionStatement", + "src": "244:13:23" + }, + { + "assignments": [ + 6524 + ], + "declarations": [ + { + "constant": false, + "id": 6524, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6544, + "src": "263:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6523, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "263:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6528, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6525, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6510, + "src": "272:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 6526, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6512, + "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": 6538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6530, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6510, + "src": "290:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6531, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6512, + "src": "295:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 6532, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6524, + "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": 6536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6534, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6510, + "src": "303:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "id": 6535, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6512, + "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": 6529, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "283:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "283:26:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6540, + "nodeType": "ExpressionStatement", + "src": "283:26:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6541, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6524, + "src": "322:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6516, + "id": 6542, + "nodeType": "Return", + "src": "315:8:23" + } + ] + }, + "documentation": null, + "id": 6544, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeDiv", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6510, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6544, + "src": "198:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6509, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "198:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6512, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6544, + "src": "206:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6511, + "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": 6516, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6515, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6544, + "src": "232:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6514, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "232:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "231:6:23" + }, + "scope": 6672, + "src": "181:147:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6563, + "nodeType": "Block", + "src": "389:43:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6554, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6548, + "src": "402:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 6555, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6546, + "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": 6553, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "395:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "395:14:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6558, + "nodeType": "ExpressionStatement", + "src": "395:14:23" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6559, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6546, + "src": "422:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 6560, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6548, + "src": "426:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "422:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6552, + "id": 6562, + "nodeType": "Return", + "src": "415:12:23" + } + ] + }, + "documentation": null, + "id": 6564, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeSub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6546, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6564, + "src": "349:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6545, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "349:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6548, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6564, + "src": "357:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6547, + "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": 6552, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6551, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6564, + "src": "383:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6550, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "383:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "382:6:23" + }, + "scope": 6672, + "src": "332:100:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6591, + "nodeType": "Block", + "src": "493:65:23", + "statements": [ + { + "assignments": [ + 6574 + ], + "declarations": [ + { + "constant": false, + "id": 6574, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "499:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6573, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "499:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6578, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6575, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6566, + "src": "508:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 6576, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6568, + "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": 6586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6580, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "526:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6581, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6566, + "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": 6585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6583, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "534:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6584, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6568, + "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": 6579, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "519:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "519:20:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6588, + "nodeType": "ExpressionStatement", + "src": "519:20:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6589, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "552:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6572, + "id": 6590, + "nodeType": "Return", + "src": "545:8:23" + } + ] + }, + "documentation": null, + "id": 6592, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeAdd", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6569, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6566, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "453:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6565, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "453:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6568, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "461:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6567, + "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": 6572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6571, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "487:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6570, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "487:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "486:6:23" + }, + "scope": 6672, + "src": "436:122:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6608, + "nodeType": "Block", + "src": "632:32:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 6603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6601, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6594, + "src": "645:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6602, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6596, + "src": "650:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "645:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6605, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6596, + "src": "658:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 6606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "645:14:23", + "trueExpression": { + "argumentTypes": null, + "id": 6604, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6594, + "src": "654:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 6600, + "id": 6607, + "nodeType": "Return", + "src": "638:21:23" + } + ] + }, + "documentation": null, + "id": 6609, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6594, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6609, + "src": "577:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6593, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "577:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6596, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6609, + "src": "587:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6595, + "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": 6600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6599, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6609, + "src": "624:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6598, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "624:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "623:8:23" + }, + "scope": 6672, + "src": "562:102:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6625, + "nodeType": "Block", + "src": "738:31:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 6620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6618, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6611, + "src": "751:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 6619, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6613, + "src": "755:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "751:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6622, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6613, + "src": "763:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 6623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "751:13:23", + "trueExpression": { + "argumentTypes": null, + "id": 6621, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6611, + "src": "759:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 6617, + "id": 6624, + "nodeType": "Return", + "src": "744:20:23" + } + ] + }, + "documentation": null, + "id": 6626, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6611, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6626, + "src": "683:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6610, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "683:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6613, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6626, + "src": "693:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6612, + "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": 6617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6616, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6626, + "src": "730:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6615, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "730:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "729:8:23" + }, + "scope": 6672, + "src": "668:101:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6642, + "nodeType": "Block", + "src": "847:32:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6635, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6628, + "src": "860:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6636, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6630, + "src": "865:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "860:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6639, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6630, + "src": "873:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "860:14:23", + "trueExpression": { + "argumentTypes": null, + "id": 6638, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6628, + "src": "869:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6634, + "id": 6641, + "nodeType": "Return", + "src": "853:21:23" + } + ] + }, + "documentation": null, + "id": 6643, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max256", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6628, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6643, + "src": "789:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6627, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "789:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6630, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6643, + "src": "800:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6629, + "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": 6634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6633, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6643, + "src": "838:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6632, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "838:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "837:9:23" + }, + "scope": 6672, + "src": "773:106:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6659, + "nodeType": "Block", + "src": "957:31:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6652, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6645, + "src": "970:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 6653, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6647, + "src": "974:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "970:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6656, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6647, + "src": "982:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "970:13:23", + "trueExpression": { + "argumentTypes": null, + "id": 6655, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6645, + "src": "978:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6651, + "id": 6658, + "nodeType": "Return", + "src": "963:20:23" + } + ] + }, + "documentation": null, + "id": 6660, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min256", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6645, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6660, + "src": "899:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6644, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "899:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6647, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6660, + "src": "910:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6646, + "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": 6651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6650, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6660, + "src": "948:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6649, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "948:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "947:9:23" + }, + "scope": 6672, + "src": "883:105:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6670, + "nodeType": "Block", + "src": "1033:46:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 6666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1043:10:23", + "subExpression": { + "argumentTypes": null, + "id": 6665, + "name": "assertion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6662, + "src": "1044:9:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6669, + "nodeType": "IfStatement", + "src": "1039:36:23", + "trueBody": { + "id": 6668, + "nodeType": "Block", + "src": "1055:20:23", + "statements": [ + { + "id": 6667, + "nodeType": "Throw", + "src": "1063:5:23" + } + ] + } + } + ] + }, + "documentation": null, + "id": 6671, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "assert", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6662, + "name": "assertion", + "nodeType": "VariableDeclaration", + "scope": 6671, + "src": "1008:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6661, + "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": 6664, + "nodeType": "ParameterList", + "parameters": [], + "src": "1033:0:23" + }, + "scope": 6672, + "src": "992:87:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6673, + "src": "25:1056:23" + } + ], + "src": "0:1081:23" + }, + "legacyAST": { + "absolutePath": "rlc-token/contracts/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 6672 + ] + }, + "id": 6673, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6478, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:23" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6672, + "linearizedBaseContracts": [ + 6672 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 6507, + "nodeType": "Block", + "src": "104:73:23", + "statements": [ + { + "assignments": [ + 6488 + ], + "declarations": [ + { + "constant": false, + "id": 6488, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6508, + "src": "110:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6487, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "110:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6492, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6489, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6480, + "src": "119:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 6490, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6482, + "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": 6502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6494, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6480, + "src": "137:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6495, + "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": 6501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6497, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6488, + "src": "147:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 6498, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6480, + "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": 6500, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6482, + "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": 6493, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "130:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "130:28:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6504, + "nodeType": "ExpressionStatement", + "src": "130:28:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6505, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6488, + "src": "171:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6486, + "id": 6506, + "nodeType": "Return", + "src": "164:8:23" + } + ] + }, + "documentation": null, + "id": 6508, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeMul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6480, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6508, + "src": "64:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6479, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "64:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6482, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6508, + "src": "72:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6481, + "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": 6486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6485, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6508, + "src": "98:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6484, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "98:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "97:6:23" + }, + "scope": 6672, + "src": "47:130:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6543, + "nodeType": "Block", + "src": "238:90:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6518, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6512, + "src": "251:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6519, + "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": 6517, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "244:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "244:13:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6522, + "nodeType": "ExpressionStatement", + "src": "244:13:23" + }, + { + "assignments": [ + 6524 + ], + "declarations": [ + { + "constant": false, + "id": 6524, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6544, + "src": "263:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6523, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "263:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6528, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6525, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6510, + "src": "272:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 6526, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6512, + "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": 6538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6530, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6510, + "src": "290:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6531, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6512, + "src": "295:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 6532, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6524, + "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": 6536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6534, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6510, + "src": "303:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "id": 6535, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6512, + "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": 6529, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "283:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "283:26:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6540, + "nodeType": "ExpressionStatement", + "src": "283:26:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6541, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6524, + "src": "322:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6516, + "id": 6542, + "nodeType": "Return", + "src": "315:8:23" + } + ] + }, + "documentation": null, + "id": 6544, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeDiv", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6510, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6544, + "src": "198:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6509, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "198:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6512, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6544, + "src": "206:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6511, + "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": 6516, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6515, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6544, + "src": "232:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6514, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "232:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "231:6:23" + }, + "scope": 6672, + "src": "181:147:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6563, + "nodeType": "Block", + "src": "389:43:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6554, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6548, + "src": "402:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 6555, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6546, + "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": 6553, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "395:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "395:14:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6558, + "nodeType": "ExpressionStatement", + "src": "395:14:23" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6559, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6546, + "src": "422:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 6560, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6548, + "src": "426:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "422:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6552, + "id": 6562, + "nodeType": "Return", + "src": "415:12:23" + } + ] + }, + "documentation": null, + "id": 6564, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeSub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6546, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6564, + "src": "349:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6545, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "349:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6548, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6564, + "src": "357:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6547, + "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": 6552, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6551, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6564, + "src": "383:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6550, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "383:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "382:6:23" + }, + "scope": 6672, + "src": "332:100:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6591, + "nodeType": "Block", + "src": "493:65:23", + "statements": [ + { + "assignments": [ + 6574 + ], + "declarations": [ + { + "constant": false, + "id": 6574, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "499:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6573, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "499:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6578, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6575, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6566, + "src": "508:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 6576, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6568, + "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": 6586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6580, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "526:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6581, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6566, + "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": 6585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6583, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "534:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6584, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6568, + "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": 6579, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "519:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "519:20:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6588, + "nodeType": "ExpressionStatement", + "src": "519:20:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6589, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "552:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6572, + "id": 6590, + "nodeType": "Return", + "src": "545:8:23" + } + ] + }, + "documentation": null, + "id": 6592, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeAdd", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6569, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6566, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "453:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6565, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "453:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6568, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "461:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6567, + "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": 6572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6571, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "487:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6570, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "487:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "486:6:23" + }, + "scope": 6672, + "src": "436:122:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6608, + "nodeType": "Block", + "src": "632:32:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 6603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6601, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6594, + "src": "645:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6602, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6596, + "src": "650:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "645:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6605, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6596, + "src": "658:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 6606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "645:14:23", + "trueExpression": { + "argumentTypes": null, + "id": 6604, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6594, + "src": "654:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 6600, + "id": 6607, + "nodeType": "Return", + "src": "638:21:23" + } + ] + }, + "documentation": null, + "id": 6609, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6594, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6609, + "src": "577:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6593, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "577:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6596, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6609, + "src": "587:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6595, + "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": 6600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6599, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6609, + "src": "624:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6598, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "624:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "623:8:23" + }, + "scope": 6672, + "src": "562:102:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6625, + "nodeType": "Block", + "src": "738:31:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 6620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6618, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6611, + "src": "751:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 6619, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6613, + "src": "755:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "751:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6622, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6613, + "src": "763:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 6623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "751:13:23", + "trueExpression": { + "argumentTypes": null, + "id": 6621, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6611, + "src": "759:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 6617, + "id": 6624, + "nodeType": "Return", + "src": "744:20:23" + } + ] + }, + "documentation": null, + "id": 6626, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6611, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6626, + "src": "683:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6610, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "683:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6613, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6626, + "src": "693:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6612, + "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": 6617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6616, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6626, + "src": "730:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6615, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "730:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "729:8:23" + }, + "scope": 6672, + "src": "668:101:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6642, + "nodeType": "Block", + "src": "847:32:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6635, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6628, + "src": "860:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6636, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6630, + "src": "865:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "860:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6639, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6630, + "src": "873:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "860:14:23", + "trueExpression": { + "argumentTypes": null, + "id": 6638, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6628, + "src": "869:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6634, + "id": 6641, + "nodeType": "Return", + "src": "853:21:23" + } + ] + }, + "documentation": null, + "id": 6643, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max256", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6628, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6643, + "src": "789:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6627, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "789:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6630, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6643, + "src": "800:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6629, + "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": 6634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6633, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6643, + "src": "838:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6632, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "838:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "837:9:23" + }, + "scope": 6672, + "src": "773:106:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6659, + "nodeType": "Block", + "src": "957:31:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6652, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6645, + "src": "970:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 6653, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6647, + "src": "974:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "970:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6656, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6647, + "src": "982:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "970:13:23", + "trueExpression": { + "argumentTypes": null, + "id": 6655, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6645, + "src": "978:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6651, + "id": 6658, + "nodeType": "Return", + "src": "963:20:23" + } + ] + }, + "documentation": null, + "id": 6660, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min256", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6645, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6660, + "src": "899:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6644, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "899:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6647, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6660, + "src": "910:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6646, + "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": 6651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6650, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6660, + "src": "948:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6649, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "948:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "947:9:23" + }, + "scope": 6672, + "src": "883:105:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6670, + "nodeType": "Block", + "src": "1033:46:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 6666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1043:10:23", + "subExpression": { + "argumentTypes": null, + "id": 6665, + "name": "assertion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6662, + "src": "1044:9:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6669, + "nodeType": "IfStatement", + "src": "1039:36:23", + "trueBody": { + "id": 6668, + "nodeType": "Block", + "src": "1055:20:23", + "statements": [ + { + "id": 6667, + "nodeType": "Throw", + "src": "1063:5:23" + } + ] + } + } + ] + }, + "documentation": null, + "id": 6671, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "assert", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6662, + "name": "assertion", + "nodeType": "VariableDeclaration", + "scope": 6671, + "src": "1008:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6661, + "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": 6664, + "nodeType": "ParameterList", + "parameters": [], + "src": "1033:0:23" + }, + "scope": 6672, + "src": "992:87:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6673, + "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-04-12T18:32:30.815Z" +} \ No newline at end of file diff --git a/build/contracts/SafeMathOZ.json b/build/contracts/SafeMathOZ.json new file mode 100644 index 00000000..0f30e6a6 --- /dev/null +++ b/build/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": [ + 3685 + ] + }, + "id": 3686, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3510, + "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": 3685, + "linearizedBaseContracts": [ + 3685 + ], + "name": "SafeMathOZ", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3533, + "nodeType": "Block", + "src": "473:55:15", + "statements": [ + { + "assignments": [ + 3520 + ], + "declarations": [ + { + "constant": false, + "id": 3520, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3534, + "src": "477:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3519, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "477:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3524, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3521, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3512, + "src": "489:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 3522, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3514, + "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": 3528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3526, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "505:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 3527, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3512, + "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": 3525, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6689, + "src": "498:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "498:14:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3530, + "nodeType": "ExpressionStatement", + "src": "498:14:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3531, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "523:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3518, + "id": 3532, + "nodeType": "Return", + "src": "516:8:15" + } + ] + }, + "documentation": null, + "id": 3534, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3512, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3534, + "src": "418:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3511, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "418:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3514, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3534, + "src": "429:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3513, + "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": 3518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3517, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3534, + "src": "463:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3516, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "463:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "462:9:15" + }, + "scope": 3685, + "src": "405:123:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3553, + "nodeType": "Block", + "src": "599:38:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3544, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3538, + "src": "610:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 3545, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3536, + "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": 3543, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6689, + "src": "603:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "603:14:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3548, + "nodeType": "ExpressionStatement", + "src": "603:14:15" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3549, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3536, + "src": "628:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 3550, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3538, + "src": "632:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "628:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3542, + "id": 3552, + "nodeType": "Return", + "src": "621:12:15" + } + ] + }, + "documentation": null, + "id": 3554, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3539, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3536, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3554, + "src": "544:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3535, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "544:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3538, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3554, + "src": "555:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3537, + "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": 3542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3541, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3554, + "src": "589:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "589:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "588:9:15" + }, + "scope": 3685, + "src": "531:106:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3586, + "nodeType": "Block", + "src": "708:94:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3563, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3556, + "src": "716:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3564, + "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": 3569, + "nodeType": "IfStatement", + "src": "712:32:15", + "trueBody": { + "id": 3568, + "nodeType": "Block", + "src": "726:18:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3566, + "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": 3562, + "id": 3567, + "nodeType": "Return", + "src": "731:8:15" + } + ] + } + }, + { + "assignments": [ + 3571 + ], + "declarations": [ + { + "constant": false, + "id": 3571, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3587, + "src": "747:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3570, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "747:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3575, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3572, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3556, + "src": "759:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 3573, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3558, + "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": 3581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3577, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3571, + "src": "775:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3578, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3556, + "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": 3580, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3558, + "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": 3576, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6689, + "src": "768:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "768:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3583, + "nodeType": "ExpressionStatement", + "src": "768:18:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3584, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3571, + "src": "797:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3562, + "id": 3585, + "nodeType": "Return", + "src": "790:8:15" + } + ] + }, + "documentation": null, + "id": 3587, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3556, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3587, + "src": "653:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3555, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "653:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3558, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3587, + "src": "664:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3557, + "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": 3562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3561, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3587, + "src": "698:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3560, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "698:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "697:9:15" + }, + "scope": 3685, + "src": "640:162:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3604, + "nodeType": "Block", + "src": "873:189:15", + "statements": [ + { + "assignments": [ + 3597 + ], + "declarations": [ + { + "constant": false, + "id": 3597, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "949:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "949:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3601, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3598, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3589, + "src": "961:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3599, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3591, + "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": 3602, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3597, + "src": "1057:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3595, + "id": 3603, + "nodeType": "Return", + "src": "1050:8:15" + } + ] + }, + "documentation": null, + "id": 3605, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3589, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "818:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3588, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "818:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3591, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "829:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3590, + "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": 3595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3594, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "863:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3593, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "863:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "862:9:15" + }, + "scope": 3685, + "src": "805:257:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3621, + "nodeType": "Block", + "src": "1133:29:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3614, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3607, + "src": "1144:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 3615, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3609, + "src": "1149:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1144:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 3618, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3609, + "src": "1157:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1144:14:15", + "trueExpression": { + "argumentTypes": null, + "id": 3617, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3607, + "src": "1153:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3613, + "id": 3620, + "nodeType": "Return", + "src": "1137:21:15" + } + ] + }, + "documentation": null, + "id": 3622, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3607, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3622, + "src": "1078:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3606, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1078:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3609, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3622, + "src": "1089:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3608, + "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": 3613, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3612, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3622, + "src": "1123:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3611, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1123:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1122:9:15" + }, + "scope": 3685, + "src": "1065:97:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3638, + "nodeType": "Block", + "src": "1233:28:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3631, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3624, + "src": "1244:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 3632, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3626, + "src": "1248:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1244:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 3635, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3626, + "src": "1256:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1244:13:15", + "trueExpression": { + "argumentTypes": null, + "id": 3634, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3624, + "src": "1252:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3630, + "id": 3637, + "nodeType": "Return", + "src": "1237:20:15" + } + ] + }, + "documentation": null, + "id": 3639, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3624, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3639, + "src": "1178:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3623, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1178:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3626, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3639, + "src": "1189:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3625, + "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": 3630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3629, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3639, + "src": "1223:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3628, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1223:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1222:9:15" + }, + "scope": 3685, + "src": "1165:96:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3658, + "nodeType": "Block", + "src": "1353:32:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3652, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3641, + "src": "1372:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3653, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3643, + "src": "1375:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3651, + "name": "mul", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3587, + "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": 3654, + "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": 3655, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3645, + "src": "1379:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3650, + "name": "div", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3605, + "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": 3656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1364:17:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3649, + "id": 3657, + "nodeType": "Return", + "src": "1357:24:15" + } + ] + }, + "documentation": null, + "id": 3659, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mulByFraction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3646, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3641, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3659, + "src": "1287:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3640, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3643, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3659, + "src": "1298:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3642, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1298:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3645, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3659, + "src": "1309:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3644, + "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": 3649, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3648, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3659, + "src": "1343:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3647, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1343:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1342:9:15" + }, + "scope": 3685, + "src": "1264:121:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3674, + "nodeType": "Block", + "src": "1463:39:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3669, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3661, + "src": "1488:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3670, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3663, + "src": "1491:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "313030", + "id": 3671, + "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": 3668, + "name": "mulByFraction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3659, + "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": 3672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1474:24:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3667, + "id": 3673, + "nodeType": "Return", + "src": "1467:31:15" + } + ] + }, + "documentation": null, + "id": 3675, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "percentage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3661, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3675, + "src": "1408:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1408:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3663, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3675, + "src": "1419:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3662, + "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": 3667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3666, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3675, + "src": "1453:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3665, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1453:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1452:9:15" + }, + "scope": 3685, + "src": "1388:114:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3683, + "nodeType": "Block", + "src": "1657:1486:15", + "statements": [ + { + "externalReferences": [ + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1991:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1932:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1688:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1718:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1693:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1710:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1702:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1738:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1766:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1823:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1862:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1725:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1854:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1889:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1802:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1809:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1794:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1746:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1753:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1774:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1781:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "2000:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1940:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1947:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1831:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1838:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1897:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1869:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1904:1:15", + "valueSize": 1 + } + }, + { + "y": { + "declaration": 3680, + "isOffset": false, + "isSlot": false, + "src": "2993:1:15", + "valueSize": 1 + } + }, + { + "y": { + "declaration": 3680, + "isOffset": false, + "isSlot": false, + "src": "3047:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "2972:1:15", + "valueSize": 1 + } + }, + { + "y": { + "declaration": 3680, + "isOffset": false, + "isSlot": false, + "src": "3038:1:15", + "valueSize": 1 + } + } + ], + "id": 3682, + "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": 3684, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "log", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3677, + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 3684, + "src": "1617:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3676, + "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": 3681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3680, + "name": "y", + "nodeType": "VariableDeclaration", + "scope": 3684, + "src": "1648:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3679, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1648:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1647:8:15" + }, + "scope": 3685, + "src": "1604:1539:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 3686, + "src": "383:2762:15" + } + ], + "src": "0:3146:15" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "exportedSymbols": { + "SafeMathOZ": [ + 3685 + ] + }, + "id": 3686, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3510, + "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": 3685, + "linearizedBaseContracts": [ + 3685 + ], + "name": "SafeMathOZ", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3533, + "nodeType": "Block", + "src": "473:55:15", + "statements": [ + { + "assignments": [ + 3520 + ], + "declarations": [ + { + "constant": false, + "id": 3520, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3534, + "src": "477:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3519, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "477:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3524, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3521, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3512, + "src": "489:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 3522, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3514, + "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": 3528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3526, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "505:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 3527, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3512, + "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": 3525, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6689, + "src": "498:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "498:14:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3530, + "nodeType": "ExpressionStatement", + "src": "498:14:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3531, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "523:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3518, + "id": 3532, + "nodeType": "Return", + "src": "516:8:15" + } + ] + }, + "documentation": null, + "id": 3534, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3512, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3534, + "src": "418:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3511, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "418:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3514, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3534, + "src": "429:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3513, + "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": 3518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3517, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3534, + "src": "463:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3516, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "463:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "462:9:15" + }, + "scope": 3685, + "src": "405:123:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3553, + "nodeType": "Block", + "src": "599:38:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3544, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3538, + "src": "610:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 3545, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3536, + "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": 3543, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6689, + "src": "603:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "603:14:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3548, + "nodeType": "ExpressionStatement", + "src": "603:14:15" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3549, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3536, + "src": "628:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 3550, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3538, + "src": "632:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "628:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3542, + "id": 3552, + "nodeType": "Return", + "src": "621:12:15" + } + ] + }, + "documentation": null, + "id": 3554, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3539, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3536, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3554, + "src": "544:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3535, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "544:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3538, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3554, + "src": "555:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3537, + "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": 3542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3541, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3554, + "src": "589:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "589:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "588:9:15" + }, + "scope": 3685, + "src": "531:106:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3586, + "nodeType": "Block", + "src": "708:94:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3563, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3556, + "src": "716:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3564, + "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": 3569, + "nodeType": "IfStatement", + "src": "712:32:15", + "trueBody": { + "id": 3568, + "nodeType": "Block", + "src": "726:18:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3566, + "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": 3562, + "id": 3567, + "nodeType": "Return", + "src": "731:8:15" + } + ] + } + }, + { + "assignments": [ + 3571 + ], + "declarations": [ + { + "constant": false, + "id": 3571, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3587, + "src": "747:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3570, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "747:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3575, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3572, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3556, + "src": "759:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 3573, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3558, + "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": 3581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3577, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3571, + "src": "775:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3578, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3556, + "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": 3580, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3558, + "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": 3576, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6689, + "src": "768:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "768:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3583, + "nodeType": "ExpressionStatement", + "src": "768:18:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3584, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3571, + "src": "797:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3562, + "id": 3585, + "nodeType": "Return", + "src": "790:8:15" + } + ] + }, + "documentation": null, + "id": 3587, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3556, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3587, + "src": "653:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3555, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "653:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3558, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3587, + "src": "664:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3557, + "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": 3562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3561, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3587, + "src": "698:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3560, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "698:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "697:9:15" + }, + "scope": 3685, + "src": "640:162:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3604, + "nodeType": "Block", + "src": "873:189:15", + "statements": [ + { + "assignments": [ + 3597 + ], + "declarations": [ + { + "constant": false, + "id": 3597, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "949:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "949:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3601, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3598, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3589, + "src": "961:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3599, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3591, + "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": 3602, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3597, + "src": "1057:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3595, + "id": 3603, + "nodeType": "Return", + "src": "1050:8:15" + } + ] + }, + "documentation": null, + "id": 3605, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3589, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "818:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3588, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "818:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3591, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "829:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3590, + "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": 3595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3594, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "863:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3593, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "863:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "862:9:15" + }, + "scope": 3685, + "src": "805:257:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3621, + "nodeType": "Block", + "src": "1133:29:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3614, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3607, + "src": "1144:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 3615, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3609, + "src": "1149:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1144:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 3618, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3609, + "src": "1157:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1144:14:15", + "trueExpression": { + "argumentTypes": null, + "id": 3617, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3607, + "src": "1153:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3613, + "id": 3620, + "nodeType": "Return", + "src": "1137:21:15" + } + ] + }, + "documentation": null, + "id": 3622, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3607, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3622, + "src": "1078:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3606, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1078:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3609, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3622, + "src": "1089:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3608, + "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": 3613, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3612, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3622, + "src": "1123:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3611, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1123:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1122:9:15" + }, + "scope": 3685, + "src": "1065:97:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3638, + "nodeType": "Block", + "src": "1233:28:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3631, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3624, + "src": "1244:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 3632, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3626, + "src": "1248:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1244:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 3635, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3626, + "src": "1256:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1244:13:15", + "trueExpression": { + "argumentTypes": null, + "id": 3634, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3624, + "src": "1252:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3630, + "id": 3637, + "nodeType": "Return", + "src": "1237:20:15" + } + ] + }, + "documentation": null, + "id": 3639, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3624, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3639, + "src": "1178:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3623, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1178:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3626, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3639, + "src": "1189:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3625, + "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": 3630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3629, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3639, + "src": "1223:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3628, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1223:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1222:9:15" + }, + "scope": 3685, + "src": "1165:96:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3658, + "nodeType": "Block", + "src": "1353:32:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3652, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3641, + "src": "1372:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3653, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3643, + "src": "1375:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3651, + "name": "mul", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3587, + "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": 3654, + "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": 3655, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3645, + "src": "1379:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3650, + "name": "div", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3605, + "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": 3656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1364:17:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3649, + "id": 3657, + "nodeType": "Return", + "src": "1357:24:15" + } + ] + }, + "documentation": null, + "id": 3659, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mulByFraction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3646, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3641, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3659, + "src": "1287:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3640, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3643, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3659, + "src": "1298:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3642, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1298:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3645, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3659, + "src": "1309:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3644, + "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": 3649, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3648, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3659, + "src": "1343:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3647, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1343:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1342:9:15" + }, + "scope": 3685, + "src": "1264:121:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3674, + "nodeType": "Block", + "src": "1463:39:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3669, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3661, + "src": "1488:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3670, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3663, + "src": "1491:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "313030", + "id": 3671, + "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": 3668, + "name": "mulByFraction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3659, + "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": 3672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1474:24:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3667, + "id": 3673, + "nodeType": "Return", + "src": "1467:31:15" + } + ] + }, + "documentation": null, + "id": 3675, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "percentage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3661, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3675, + "src": "1408:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1408:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3663, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3675, + "src": "1419:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3662, + "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": 3667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3666, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3675, + "src": "1453:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3665, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1453:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1452:9:15" + }, + "scope": 3685, + "src": "1388:114:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3683, + "nodeType": "Block", + "src": "1657:1486:15", + "statements": [ + { + "externalReferences": [ + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1991:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1932:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1688:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1718:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1693:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1710:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1702:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1738:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1766:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1823:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1862:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1725:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1854:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1889:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1802:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1809:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1794:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1746:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1753:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1774:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1781:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "2000:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1940:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1947:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1831:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1838:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1897:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1869:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "1904:1:15", + "valueSize": 1 + } + }, + { + "y": { + "declaration": 3680, + "isOffset": false, + "isSlot": false, + "src": "2993:1:15", + "valueSize": 1 + } + }, + { + "y": { + "declaration": 3680, + "isOffset": false, + "isSlot": false, + "src": "3047:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3677, + "isOffset": false, + "isSlot": false, + "src": "2972:1:15", + "valueSize": 1 + } + }, + { + "y": { + "declaration": 3680, + "isOffset": false, + "isSlot": false, + "src": "3038:1:15", + "valueSize": 1 + } + } + ], + "id": 3682, + "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": 3684, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "log", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3677, + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 3684, + "src": "1617:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3676, + "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": 3681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3680, + "name": "y", + "nodeType": "VariableDeclaration", + "scope": 3684, + "src": "1648:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3679, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1648:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1647:8:15" + }, + "scope": 3685, + "src": "1604:1539:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 3686, + "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-04-12T18:32:30.797Z" +} \ No newline at end of file diff --git a/build/contracts/TestSha.json b/build/contracts/TestSha.json new file mode 100644 index 00000000..171a6a25 --- /dev/null +++ b/build/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": [ + 3786 + ] + }, + "id": 3787, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3687, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:16" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3786, + "linearizedBaseContracts": [ + 3786 + ], + "name": "TestSha", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 3693, + "name": "SolidityKeccak256FromBytes", + "nodeType": "EventDefinition", + "parameters": { + "id": 3692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3689, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 3693, + "src": "125:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3688, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "125:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3691, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3693, + "src": "141:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3690, + "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": 3699, + "name": "SolidityKeccak256FromString", + "nodeType": "EventDefinition", + "parameters": { + "id": 3698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3695, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 3699, + "src": "193:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3694, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "193:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3697, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3699, + "src": "209:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3696, + "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": 3705, + "name": "SolidityKeccak256FromAddress", + "nodeType": "EventDefinition", + "parameters": { + "id": 3704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3701, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 3705, + "src": "261:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3700, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "261:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3703, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3705, + "src": "277:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3702, + "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": 3715, + "name": "SignedVote", + "nodeType": "EventDefinition", + "parameters": { + "id": 3714, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3707, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3715, + "src": "315:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3706, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "315:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3709, + "indexed": false, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 3715, + "src": "332:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3708, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "332:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3711, + "indexed": false, + "name": "vote", + "nodeType": "VariableDeclaration", + "scope": 3715, + "src": "349:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3710, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "349:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3713, + "indexed": false, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 3715, + "src": "365:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3712, + "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": 3727, + "nodeType": "Block", + "src": "448:66:16", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3722, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "494:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3721, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "484:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3723, + "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": 3724, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "503:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3720, + "name": "SolidityKeccak256FromBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3693, + "src": "457:26:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 3725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "457:53:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3726, + "nodeType": "EmitStatement", + "src": "452:58:16" + } + ] + }, + "documentation": null, + "id": 3728, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSolidityKeccak256FromBytes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3717, + "name": "_input", + "nodeType": "VariableDeclaration", + "scope": 3728, + "src": "424:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3716, + "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": 3719, + "nodeType": "ParameterList", + "parameters": [], + "src": "448:0:16" + }, + "scope": 3786, + "src": "384:130:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3740, + "nodeType": "Block", + "src": "581:67:16", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3735, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3730, + "src": "628:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3734, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "618:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3736, + "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": 3737, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3730, + "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": 3733, + "name": "SolidityKeccak256FromString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3699, + "src": "590:27:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes32,string memory)" + } + }, + "id": 3738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "590:54:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3739, + "nodeType": "EmitStatement", + "src": "585:59:16" + } + ] + }, + "documentation": null, + "id": 3741, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSolidityKeccak256FromString", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3731, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3730, + "name": "_input", + "nodeType": "VariableDeclaration", + "scope": 3741, + "src": "558:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3729, + "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": 3732, + "nodeType": "ParameterList", + "parameters": [], + "src": "581:0:16" + }, + "scope": 3786, + "src": "517:131:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3753, + "nodeType": "Block", + "src": "717:68:16", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3748, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3743, + "src": "765:6:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3747, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "755:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3749, + "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": 3750, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3743, + "src": "774:6:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3746, + "name": "SolidityKeccak256FromAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3705, + "src": "726:28:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "726:55:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3752, + "nodeType": "EmitStatement", + "src": "721:60:16" + } + ] + }, + "documentation": null, + "id": 3754, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSolidityKeccak256FromAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3743, + "name": "_input", + "nodeType": "VariableDeclaration", + "scope": 3754, + "src": "693:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3742, + "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": 3745, + "nodeType": "ParameterList", + "parameters": [], + "src": "717:0:16" + }, + "scope": 3786, + "src": "651:134:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3784, + "nodeType": "Block", + "src": "837:178:16", + "statements": [ + { + "assignments": [ + 3760 + ], + "declarations": [ + { + "constant": false, + "id": 3760, + "name": "vote", + "nodeType": "VariableDeclaration", + "scope": 3785, + "src": "841:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3759, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "841:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3764, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3762, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3756, + "src": "866:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3761, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "856:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3763, + "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": [ + 3766 + ], + "declarations": [ + { + "constant": false, + "id": 3766, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 3785, + "src": "902:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3765, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "902:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3775, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 3773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3768, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3756, + "src": "927:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3770, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "947:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3771, + "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": 3769, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "937:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3772, + "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": 3767, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "917:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3774, + "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": 3777, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3756, + "src": "979:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3778, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "988:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3779, + "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": 3780, + "name": "vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3760, + "src": "1000:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3781, + "name": "sign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3766, + "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": 3776, + "name": "SignedVote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3715, + "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": 3782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "968:43:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3783, + "nodeType": "EmitStatement", + "src": "963:48:16" + } + ] + }, + "documentation": null, + "id": 3785, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSignedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3756, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 3785, + "src": "812:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3755, + "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": 3758, + "nodeType": "ParameterList", + "parameters": [], + "src": "837:0:16" + }, + "scope": 3786, + "src": "788:227:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3787, + "src": "70:947:16" + } + ], + "src": "0:1018:16" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/TestSha.sol", + "exportedSymbols": { + "TestSha": [ + 3786 + ] + }, + "id": 3787, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3687, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:16" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3786, + "linearizedBaseContracts": [ + 3786 + ], + "name": "TestSha", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 3693, + "name": "SolidityKeccak256FromBytes", + "nodeType": "EventDefinition", + "parameters": { + "id": 3692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3689, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 3693, + "src": "125:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3688, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "125:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3691, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3693, + "src": "141:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3690, + "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": 3699, + "name": "SolidityKeccak256FromString", + "nodeType": "EventDefinition", + "parameters": { + "id": 3698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3695, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 3699, + "src": "193:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3694, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "193:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3697, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3699, + "src": "209:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3696, + "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": 3705, + "name": "SolidityKeccak256FromAddress", + "nodeType": "EventDefinition", + "parameters": { + "id": 3704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3701, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 3705, + "src": "261:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3700, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "261:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3703, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3705, + "src": "277:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3702, + "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": 3715, + "name": "SignedVote", + "nodeType": "EventDefinition", + "parameters": { + "id": 3714, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3707, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3715, + "src": "315:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3706, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "315:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3709, + "indexed": false, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 3715, + "src": "332:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3708, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "332:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3711, + "indexed": false, + "name": "vote", + "nodeType": "VariableDeclaration", + "scope": 3715, + "src": "349:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3710, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "349:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3713, + "indexed": false, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 3715, + "src": "365:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3712, + "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": 3727, + "nodeType": "Block", + "src": "448:66:16", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3722, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "494:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3721, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "484:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3723, + "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": 3724, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "503:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3720, + "name": "SolidityKeccak256FromBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3693, + "src": "457:26:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 3725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "457:53:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3726, + "nodeType": "EmitStatement", + "src": "452:58:16" + } + ] + }, + "documentation": null, + "id": 3728, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSolidityKeccak256FromBytes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3717, + "name": "_input", + "nodeType": "VariableDeclaration", + "scope": 3728, + "src": "424:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3716, + "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": 3719, + "nodeType": "ParameterList", + "parameters": [], + "src": "448:0:16" + }, + "scope": 3786, + "src": "384:130:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3740, + "nodeType": "Block", + "src": "581:67:16", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3735, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3730, + "src": "628:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3734, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "618:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3736, + "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": 3737, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3730, + "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": 3733, + "name": "SolidityKeccak256FromString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3699, + "src": "590:27:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes32,string memory)" + } + }, + "id": 3738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "590:54:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3739, + "nodeType": "EmitStatement", + "src": "585:59:16" + } + ] + }, + "documentation": null, + "id": 3741, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSolidityKeccak256FromString", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3731, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3730, + "name": "_input", + "nodeType": "VariableDeclaration", + "scope": 3741, + "src": "558:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3729, + "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": 3732, + "nodeType": "ParameterList", + "parameters": [], + "src": "581:0:16" + }, + "scope": 3786, + "src": "517:131:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3753, + "nodeType": "Block", + "src": "717:68:16", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3748, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3743, + "src": "765:6:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3747, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "755:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3749, + "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": 3750, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3743, + "src": "774:6:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3746, + "name": "SolidityKeccak256FromAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3705, + "src": "726:28:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "726:55:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3752, + "nodeType": "EmitStatement", + "src": "721:60:16" + } + ] + }, + "documentation": null, + "id": 3754, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSolidityKeccak256FromAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3743, + "name": "_input", + "nodeType": "VariableDeclaration", + "scope": 3754, + "src": "693:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3742, + "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": 3745, + "nodeType": "ParameterList", + "parameters": [], + "src": "717:0:16" + }, + "scope": 3786, + "src": "651:134:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3784, + "nodeType": "Block", + "src": "837:178:16", + "statements": [ + { + "assignments": [ + 3760 + ], + "declarations": [ + { + "constant": false, + "id": 3760, + "name": "vote", + "nodeType": "VariableDeclaration", + "scope": 3785, + "src": "841:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3759, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "841:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3764, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3762, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3756, + "src": "866:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3761, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "856:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3763, + "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": [ + 3766 + ], + "declarations": [ + { + "constant": false, + "id": 3766, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 3785, + "src": "902:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3765, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "902:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3775, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 3773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3768, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3756, + "src": "927:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3770, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "947:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3771, + "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": 3769, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "937:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3772, + "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": 3767, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "917:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3774, + "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": 3777, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3756, + "src": "979:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3778, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "988:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3779, + "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": 3780, + "name": "vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3760, + "src": "1000:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3781, + "name": "sign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3766, + "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": 3776, + "name": "SignedVote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3715, + "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": 3782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "968:43:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3783, + "nodeType": "EmitStatement", + "src": "963:48:16" + } + ] + }, + "documentation": null, + "id": 3785, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSignedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3756, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 3785, + "src": "812:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3755, + "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": 3758, + "nodeType": "ParameterList", + "parameters": [], + "src": "837:0:16" + }, + "scope": 3786, + "src": "788:227:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3787, + "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-04-12T18:32:30.798Z" +} \ No newline at end of file diff --git a/build/contracts/TokenSpender.json b/build/contracts/TokenSpender.json new file mode 100644 index 00000000..ef137a59 --- /dev/null +++ b/build/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": [ + 6686 + ] + }, + "id": 6687, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6674, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:24" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 6686, + "linearizedBaseContracts": [ + 6686 + ], + "name": "TokenSpender", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 6685, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "receiveApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6676, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 6685, + "src": "78:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6675, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "78:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6678, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6685, + "src": "93:14:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6677, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "93:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6680, + "name": "_token", + "nodeType": "VariableDeclaration", + "scope": 6685, + "src": "109:14:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6679, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "109:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6682, + "name": "_extraData", + "nodeType": "VariableDeclaration", + "scope": 6685, + "src": "125:16:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + "typeName": { + "id": 6681, + "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": 6684, + "nodeType": "ParameterList", + "parameters": [], + "src": "142:0:24" + }, + "scope": 6686, + "src": "53:90:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6687, + "src": "25:120:24" + } + ], + "src": "0:145:24" + }, + "legacyAST": { + "absolutePath": "rlc-token/contracts/TokenSpender.sol", + "exportedSymbols": { + "TokenSpender": [ + 6686 + ] + }, + "id": 6687, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6674, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:24" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 6686, + "linearizedBaseContracts": [ + 6686 + ], + "name": "TokenSpender", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 6685, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "receiveApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6676, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 6685, + "src": "78:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6675, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "78:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6678, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6685, + "src": "93:14:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6677, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "93:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6680, + "name": "_token", + "nodeType": "VariableDeclaration", + "scope": 6685, + "src": "109:14:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6679, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "109:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6682, + "name": "_extraData", + "nodeType": "VariableDeclaration", + "scope": 6685, + "src": "125:16:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + "typeName": { + "id": 6681, + "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": 6684, + "nodeType": "ParameterList", + "parameters": [], + "src": "142:0:24" + }, + "scope": 6686, + "src": "53:90:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6687, + "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-04-12T18:32:30.816Z" +} \ No newline at end of file diff --git a/build/contracts/WorkOrder.json b/build/contracts/WorkOrder.json new file mode 100644 index 00000000..369496b7 --- /dev/null +++ b/build/contracts/WorkOrder.json @@ -0,0 +1,7540 @@ +{ + "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_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": "0x6060604052341561000f57600080fd5b604051610d20380380610d208339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805182019190602001805191906020018051600d8054600160a060020a03191633600160a060020a039081169190911790915590925089161515905061009257600080fd5b6000805460ff1916600190811790915589905560028054600160a060020a0319908116600160a060020a038a81169190911790925560038054821689841617905560048054821688841617905560058054909116918a1691909117905560068490556007838051610107929160200190610141565b5060088054600160a060020a03938416600160a060020a03199182161790915560098054929093169116179055506101dc95505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018257805160ff19168380011785556101af565b828001600101855582156101af579182015b828111156101af578251825591602001919060010190610194565b506101bb9291506101bf565b5090565b6101d991905b808211156101bb57600081556001016101c5565b90565b610b35806101eb6000396000f3006060604052600436106100fb5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630690e5b8811461010057806315298c771461012f5780631a514d97146101b95780632d4d671f146101e05780634e71d92d146101f35780635f44910c146102085780636946f6921461021b57806371a599ca1461022e5780638628aaff146102415780639c4a856114610266578063cc3a2dfa14610279578063d3a69e011461028c578063d5fdfdbc1461029f578063da1fea2814610374578063e329c47814610387578063ecc40f64146103be578063f3859f57146103d1578063f6a5b13e146103e4575b600080fd5b341561010b57600080fd5b6101136103f7565b604051600160a060020a03909116815260200160405180910390f35b341561013a57600080fd5b610142610406565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561017e578082015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c457600080fd5b6101cc6104a4565b604051901515815260200160405180910390f35b34156101eb57600080fd5b6101cc61051f565b34156101fe57600080fd5b610206610599565b005b341561021357600080fd5b610113610629565b341561022657600080fd5b610113610638565b341561023957600080fd5b610113610647565b341561024c57600080fd5b610254610656565b60405190815260200160405180910390f35b341561027157600080fd5b61014261065c565b341561028457600080fd5b6101426106c7565b341561029757600080fd5b610113610732565b34156102aa57600080fd5b61020660046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061074195505050505050565b341561037f57600080fd5b6101136109d9565b341561039257600080fd5b61039a6109e8565b604051808260048111156103aa57fe5b60ff16815260200191505060405180910390f35b34156103c957600080fd5b6102546109f1565b34156103dc57600080fd5b6101426109f7565b34156103ef57600080fd5b610113610a62565b600454600160a060020a031681565b60078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b820191906000526020600020905b81548152906001019060200180831161047f57829003601f168201915b505050505081565b60045460009033600160a060020a039081169116146104c257600080fd5b600260005460ff1660048111156104d557fe5b146104df57600080fd5b6000805460ff191660011790557f06c42818c4ab74dff6aec55942f601c2e9b7f2aa4321ee71690b125eacfe465460405160405180910390a15060015b90565b60045460009033600160a060020a0390811691161461053d57600080fd5b600160005460ff16600481111561055057fe5b1461055a57600080fd5b6000805460ff191660021790557f2b0cab0be6d82b2661b3b789c540ec9c7223aac635ac8e59a1e71e1137f2dd7760405160405180910390a150600190565b600d5433600160a060020a039081169116146105b457600080fd5b600160005460ff1660048111156105c757fe5b14806105e35750600260005460ff1660048111156105e157fe5b145b15156105ee57600080fd5b6000805460ff191660031790557f1938697ee29e363ecda49e464c6d2aae25f0974bd1f2c81a91c21e13ad8dbf7760405160405180910390a1565b600554600160a060020a031681565b600254600160a060020a031681565b600354600160a060020a031681565b60065481565b600c8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b600a8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b600d54600160a060020a031681565b600d5433600160a060020a0390811691161461075c57600080fd5b600260005460ff16600481111561076f57fe5b1461077957600080fd5b6000805460ff19166004179055600a838051610799929160200190610a71565b50600b8280516107ad929160200190610a71565b50600c8180516107c1929160200190610a71565b50600854600160a060020a0316156109a857600854600160a060020a031663514d7067308585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610870578082015183820152602001610858565b50505050905090810190601f16801561089d5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156108d35780820151838201526020016108bb565b50505050905090810190601f1680156109005780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561093657808201518382015260200161091e565b50505050905090810190601f1680156109635780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b151561098657600080fd5b5af1151561099357600080fd5b5050506040518051905015156109a857600080fd5b7f777f59509d985349c80271b657d2649b218bc6f075a4625821b64448cc235b8660405160405180910390a1505050565b600854600160a060020a031681565b60005460ff1681565b60015481565b600b8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b600954600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610ab257805160ff1916838001178555610adf565b82800160010185558215610adf579182015b82811115610adf578251825591602001919060010190610ac4565b50610aeb929150610aef565b5090565b61051c91905b80821115610aeb5760008155600101610af55600a165627a7a7230582002b52a6173b11eb2a9ca31ed4bb225d6a9a072b9e8f9dd5ca4d5e17d4b6d5f0b0029", + "deployedBytecode": "0x6060604052600436106100fb5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630690e5b8811461010057806315298c771461012f5780631a514d97146101b95780632d4d671f146101e05780634e71d92d146101f35780635f44910c146102085780636946f6921461021b57806371a599ca1461022e5780638628aaff146102415780639c4a856114610266578063cc3a2dfa14610279578063d3a69e011461028c578063d5fdfdbc1461029f578063da1fea2814610374578063e329c47814610387578063ecc40f64146103be578063f3859f57146103d1578063f6a5b13e146103e4575b600080fd5b341561010b57600080fd5b6101136103f7565b604051600160a060020a03909116815260200160405180910390f35b341561013a57600080fd5b610142610406565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561017e578082015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c457600080fd5b6101cc6104a4565b604051901515815260200160405180910390f35b34156101eb57600080fd5b6101cc61051f565b34156101fe57600080fd5b610206610599565b005b341561021357600080fd5b610113610629565b341561022657600080fd5b610113610638565b341561023957600080fd5b610113610647565b341561024c57600080fd5b610254610656565b60405190815260200160405180910390f35b341561027157600080fd5b61014261065c565b341561028457600080fd5b6101426106c7565b341561029757600080fd5b610113610732565b34156102aa57600080fd5b61020660046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061074195505050505050565b341561037f57600080fd5b6101136109d9565b341561039257600080fd5b61039a6109e8565b604051808260048111156103aa57fe5b60ff16815260200191505060405180910390f35b34156103c957600080fd5b6102546109f1565b34156103dc57600080fd5b6101426109f7565b34156103ef57600080fd5b610113610a62565b600454600160a060020a031681565b60078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b820191906000526020600020905b81548152906001019060200180831161047f57829003601f168201915b505050505081565b60045460009033600160a060020a039081169116146104c257600080fd5b600260005460ff1660048111156104d557fe5b146104df57600080fd5b6000805460ff191660011790557f06c42818c4ab74dff6aec55942f601c2e9b7f2aa4321ee71690b125eacfe465460405160405180910390a15060015b90565b60045460009033600160a060020a0390811691161461053d57600080fd5b600160005460ff16600481111561055057fe5b1461055a57600080fd5b6000805460ff191660021790557f2b0cab0be6d82b2661b3b789c540ec9c7223aac635ac8e59a1e71e1137f2dd7760405160405180910390a150600190565b600d5433600160a060020a039081169116146105b457600080fd5b600160005460ff1660048111156105c757fe5b14806105e35750600260005460ff1660048111156105e157fe5b145b15156105ee57600080fd5b6000805460ff191660031790557f1938697ee29e363ecda49e464c6d2aae25f0974bd1f2c81a91c21e13ad8dbf7760405160405180910390a1565b600554600160a060020a031681565b600254600160a060020a031681565b600354600160a060020a031681565b60065481565b600c8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b600a8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b600d54600160a060020a031681565b600d5433600160a060020a0390811691161461075c57600080fd5b600260005460ff16600481111561076f57fe5b1461077957600080fd5b6000805460ff19166004179055600a838051610799929160200190610a71565b50600b8280516107ad929160200190610a71565b50600c8180516107c1929160200190610a71565b50600854600160a060020a0316156109a857600854600160a060020a031663514d7067308585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610870578082015183820152602001610858565b50505050905090810190601f16801561089d5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156108d35780820151838201526020016108bb565b50505050905090810190601f1680156109005780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561093657808201518382015260200161091e565b50505050905090810190601f1680156109635780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b151561098657600080fd5b5af1151561099357600080fd5b5050506040518051905015156109a857600080fd5b7f777f59509d985349c80271b657d2649b218bc6f075a4625821b64448cc235b8660405160405180910390a1505050565b600854600160a060020a031681565b60005460ff1681565b60015481565b600b8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049c5780601f106104715761010080835404028352916020019161049c565b600954600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610ab257805160ff1916838001178555610adf565b82800160010185558215610adf579182015b82811115610adf578251825591602001919060010190610ac4565b50610aeb929150610aef565b5090565b61051c91905b80821115610aeb5760008155600101610af55600a165627a7a7230582002b52a6173b11eb2a9ca31ed4bb225d6a9a072b9e8f9dd5ca4d5e17d4b6d5f0b0029", + "sourceMap": "90:2748: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;90:2748:17;;-1:-1:-1;;;;;;90:2748:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;90:2748:17;;;-1:-1:-1;90:2748:17;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "90:2748:17:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;417:27;;;;;;;;;;;;;;;-1:-1:-1;;;;;417:27:17;;;;;;;;;;;;;;;505: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;505:23:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1847:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1590:254;;;;;;;;;;;;2098:234;;;;;;;;;;;;;;447:26;;;;;;;;;;;;367:20;;;;;;;;;;;;390:24;;;;;;;;;;;;477:25;;;;;;;;;;;;;;;;;;;;;;;;;;;643:20;;;;;;;;;;;;591:23;;;;;;;;;;;;667:32;;;;;;;;;;;;2336:499;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2336:499:17;;-1:-1:-1;2336:499:17;;-1:-1:-1;;;;;;2336:499:17;531:25;;;;;;;;;;;;284:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;332:31;;;;;;;;;;;;617:23;;;;;;;;;;;;559:28;;;;;;;;;;;;417:27;;;-1:-1:-1;;;;;417:27:17;;:::o;505: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;447:26::-;;;-1:-1:-1;;;;;447:26:17;;:::o;367:20::-;;;-1:-1:-1;;;;;367:20:17;;:::o;390:24::-;;;-1:-1:-1;;;;;390:24:17;;:::o;477:25::-;;;;:::o;643:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;591:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;667:32;;;-1:-1:-1;;;;;667:32:17;;:::o;2336:499::-;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;:::-;-1:-1:-1;2608:10:17;;-1:-1:-1;;;;;2608:10:17;:24;2604:199;;2717:10;;-1:-1:-1;;;;;2717:10:17;2694:52;2752:4;2762:7;2775;2788:4;2694:103;;;;;;;;;-1:-1:-1;;;;;2694:103:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2694:103:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2694:103:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2694:103:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2686:112;;;;;;;;2811:20;;;;;;;;;;2336:499;;;:::o;531:25::-;;;-1:-1:-1;;;;;531:25:17;;:::o;284:44::-;;;;;;:::o;332:31::-;;;;:::o;617:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;559:28;;;-1:-1:-1;;;;;559:28:17;;:::o;90:2748::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;90:2748:17;;;-1:-1:-1;90:2748:17;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;", + "source": "pragma solidity ^0.4.21;\n\nimport './IexecCallbackInterface.sol';\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\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\tif (m_callback != address(0))\n\t\t{\n\t\t\t// optional dappCallback call can be done\n\t\t\trequire(IexecCallbackInterface(m_callback).workOrderCallback(\n\t\t\t\tthis,\n\t\t\t\t_stdout,\n\t\t\t\t_stderr,\n\t\t\t\t_uri\n\t\t\t));\n\t\t}\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": [ + 4070 + ] + }, + "id": 4071, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3788, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:17" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", + "file": "./IexecCallbackInterface.sol", + "id": 3789, + "nodeType": "ImportDirective", + "scope": 4071, + "sourceUnit": 651, + "src": "26:38:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 3790, + "nodeType": "ImportDirective", + "scope": 4071, + "sourceUnit": 2810, + "src": "65:24:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 4070, + "linearizedBaseContracts": [ + 4070 + ], + "name": "WorkOrder", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 3792, + "name": "WorkOrderActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 3791, + "nodeType": "ParameterList", + "parameters": [], + "src": "138:2:17" + }, + "src": "114:27:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 3794, + "name": "WorkOrderReActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 3793, + "nodeType": "ParameterList", + "parameters": [], + "src": "169:2:17" + }, + "src": "143:29:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 3796, + "name": "WorkOrderRevealing", + "nodeType": "EventDefinition", + "parameters": { + "id": 3795, + "nodeType": "ParameterList", + "parameters": [], + "src": "198:2:17" + }, + "src": "174:27:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 3798, + "name": "WorkOrderClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 3797, + "nodeType": "ParameterList", + "parameters": [], + "src": "227:2:17" + }, + "src": "203:27:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 3800, + "name": "WorkOrderCompleted", + "nodeType": "EventDefinition", + "parameters": { + "id": 3799, + "nodeType": "ParameterList", + "parameters": [], + "src": "256:2:17" + }, + "src": "232:27:17" + }, + { + "constant": false, + "id": 3802, + "name": "m_status", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "284:44:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 3801, + "name": "IexecLib.WorkOrderStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2750, + "src": "284:28:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3804, + "name": "m_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "332:31:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "332:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3806, + "name": "m_app", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "367:20:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3805, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "367:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3808, + "name": "m_dataset", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "390:24:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3807, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "390:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3810, + "name": "m_workerpool", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "417:27:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3809, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "417:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3812, + "name": "m_requester", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "447:26:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3811, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "447:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3814, + "name": "m_emitcost", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "477:25:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3813, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "477:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3816, + "name": "m_params", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "505:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 3815, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "505:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3818, + "name": "m_callback", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "531:25:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3817, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "531:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3820, + "name": "m_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "559:28:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3819, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "559:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3822, + "name": "m_stdout", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "591:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 3821, + "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": 3824, + "name": "m_stderr", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "617:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 3823, + "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": 3826, + "name": "m_uri", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "643:20:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 3825, + "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": 3828, + "name": "m_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "667:32:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3827, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "667:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 3838, + "nodeType": "Block", + "src": "728:53:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3831, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "740:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3832, + "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": 3833, + "name": "m_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3828, + "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": 3830, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "732:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "732:40:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3836, + "nodeType": "ExpressionStatement", + "src": "732:40:17" + }, + { + "id": 3837, + "nodeType": "PlaceholderStatement", + "src": "776:1:17" + } + ] + }, + "documentation": null, + "id": 3839, + "name": "onlyIexecHub", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3829, + "nodeType": "ParameterList", + "parameters": [], + "src": "724:2:17" + }, + "src": "703:78:17", + "visibility": "internal" + }, + { + "body": { + "id": 3915, + "nodeType": "Block", + "src": "1032:555:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3860, + "name": "m_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3828, + "src": "1036:17:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3861, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1056:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3862, + "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": 3864, + "nodeType": "ExpressionStatement", + "src": "1036:30:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3866, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3843, + "src": "1078:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3868, + "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": 3867, + "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": 3869, + "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": 3865, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1070:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1070:33:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3872, + "nodeType": "ExpressionStatement", + "src": "1070:33:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3873, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "1107:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3874, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "1126:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "1126:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1126:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1107:54:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 3878, + "nodeType": "ExpressionStatement", + "src": "1107:54:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3879, + "name": "m_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3804, + "src": "1165:16:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3880, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3841, + "src": "1184:15:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1165:34:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3882, + "nodeType": "ExpressionStatement", + "src": "1165:34:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3883, + "name": "m_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3806, + "src": "1203:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3884, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3845, + "src": "1222:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1203:23:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3886, + "nodeType": "ExpressionStatement", + "src": "1203:23:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3887, + "name": "m_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3808, + "src": "1230:9:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3888, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3847, + "src": "1249:8:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1230:27:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3890, + "nodeType": "ExpressionStatement", + "src": "1230:27:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3891, + "name": "m_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3810, + "src": "1261:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3892, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3849, + "src": "1280:11:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1261:30:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3894, + "nodeType": "ExpressionStatement", + "src": "1261:30:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3895, + "name": "m_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3812, + "src": "1295:11:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3896, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3843, + "src": "1314:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1295:29:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3898, + "nodeType": "ExpressionStatement", + "src": "1295:29:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3899, + "name": "m_emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3814, + "src": "1328:10:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3900, + "name": "_emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3851, + "src": "1347:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1328:28:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3902, + "nodeType": "ExpressionStatement", + "src": "1328:28:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3903, + "name": "m_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3816, + "src": "1360:8:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3904, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3853, + "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": 3906, + "nodeType": "ExpressionStatement", + "src": "1360:26:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3907, + "name": "m_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "1390:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3908, + "name": "_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3855, + "src": "1409:9:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1390:28:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3910, + "nodeType": "ExpressionStatement", + "src": "1390:28:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3911, + "name": "m_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3820, + "src": "1422:13:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3912, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3857, + "src": "1441:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1422:31:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3914, + "nodeType": "ExpressionStatement", + "src": "1422:31:17" + } + ] + }, + "documentation": "Constructor", + "id": 3916, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "WorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3841, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "832:23:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3840, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "832:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3843, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "859:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3842, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "859:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3845, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "881:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3844, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "881:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3847, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "897:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3846, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "897:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3849, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "917:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3848, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "917:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3851, + "name": "_emitcost", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "940:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "940:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3853, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "961:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3852, + "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": 3855, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "980:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3854, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "980:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3857, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "1001:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3856, + "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": 3859, + "nodeType": "ParameterList", + "parameters": [], + "src": "1032:0:17" + }, + "scope": 4070, + "src": "810:777:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3947, + "nodeType": "Block", + "src": "1644:200:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3922, + "name": "m_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3810, + "src": "1656:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3923, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1672:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3924, + "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": 3921, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1648:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1648:35:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3927, + "nodeType": "ExpressionStatement", + "src": "1648:35:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 3933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3929, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "1695:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3930, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "1707:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "1707:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1707:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1695:47:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3928, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1687:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1687:56:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3935, + "nodeType": "ExpressionStatement", + "src": "1687:56:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3936, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "1747:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3937, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "1758:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "1758:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1758:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1747:49:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 3941, + "nodeType": "ExpressionStatement", + "src": "1747:49:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3942, + "name": "WorkOrderRevealing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3796, + "src": "1805:18:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 3943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1805:20:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3944, + "nodeType": "EmitStatement", + "src": "1800:25:17" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3945, + "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": 3920, + "id": 3946, + "nodeType": "Return", + "src": "1829:11:17" + } + ] + }, + "documentation": null, + "id": 3948, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "startRevealingPhase", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3917, + "nodeType": "ParameterList", + "parameters": [], + "src": "1618:2:17" + }, + "payable": false, + "returnParameters": { + "id": 3920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3919, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3948, + "src": "1637:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3918, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1637:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1636:6:17" + }, + "scope": 4070, + "src": "1590:254:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3979, + "nodeType": "Block", + "src": "1892:202:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3954, + "name": "m_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3810, + "src": "1904:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3955, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1920:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3956, + "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": 3953, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1896:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1896:35:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3959, + "nodeType": "ExpressionStatement", + "src": "1896:35:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 3965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3961, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "1943:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3962, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "1955:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "1955:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1955:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1943:50:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3960, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1935:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1935:59:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3967, + "nodeType": "ExpressionStatement", + "src": "1935:59:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3968, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "1998:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3969, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2009:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "2009:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2009:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1998:46:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 3973, + "nodeType": "ExpressionStatement", + "src": "1998:46:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3974, + "name": "WorkOrderReActivated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3794, + "src": "2053:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 3975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2053:22:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3976, + "nodeType": "EmitStatement", + "src": "2048:27:17" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3977, + "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": 3952, + "id": 3978, + "nodeType": "Return", + "src": "2079:11:17" + } + ] + }, + "documentation": null, + "id": 3980, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reActivate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3949, + "nodeType": "ParameterList", + "parameters": [], + "src": "1866:2:17" + }, + "payable": false, + "returnParameters": { + "id": 3952, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3951, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3980, + "src": "1885:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3950, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1885:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1884:6:17" + }, + "scope": 4070, + "src": "1847:247:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4008, + "nodeType": "Block", + "src": "2136:196:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 3990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3986, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "2148:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3987, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2160:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "2160:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3989, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2160:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "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_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 3995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3991, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "2199:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3992, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2211:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "2211:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2211:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "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": 3985, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2140:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2140:110:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3998, + "nodeType": "ExpressionStatement", + "src": "2140:110:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3999, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "2254:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4000, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2265:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "2265:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CLAIMED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2265:36:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2254:47:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4004, + "nodeType": "ExpressionStatement", + "src": "2254:47:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4005, + "name": "WorkOrderClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3798, + "src": "2310:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2310:18:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4007, + "nodeType": "EmitStatement", + "src": "2305:23:17" + } + ] + }, + "documentation": null, + "id": 4009, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3983, + "modifierName": { + "argumentTypes": null, + "id": 3982, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3839, + "src": "2122:12:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2122:12:17" + } + ], + "name": "claim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3981, + "nodeType": "ParameterList", + "parameters": [], + "src": "2112:2:17" + }, + "payable": false, + "returnParameters": { + "id": 3984, + "nodeType": "ParameterList", + "parameters": [], + "src": "2136:0:17" + }, + "scope": 4070, + "src": "2098:234:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4068, + "nodeType": "Block", + "src": "2421:414:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4021, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "2433:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4022, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2445:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "2445:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2445:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2433:50:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4020, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2425:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2425:59:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4027, + "nodeType": "ExpressionStatement", + "src": "2425:59:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4028, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "2488:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4029, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2499:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "2499:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4031, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2499:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2488:49:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4033, + "nodeType": "ExpressionStatement", + "src": "2488:49:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4034, + "name": "m_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3822, + "src": "2541:8:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4035, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4011, + "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": 4037, + "nodeType": "ExpressionStatement", + "src": "2541:18:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4038, + "name": "m_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3824, + "src": "2563:8:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4039, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4013, + "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": 4041, + "nodeType": "ExpressionStatement", + "src": "2563:18:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4042, + "name": "m_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3826, + "src": "2585:5:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4043, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4015, + "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": 4045, + "nodeType": "ExpressionStatement", + "src": "2585:15:17" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4046, + "name": "m_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "2608:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2630: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": 4047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2622:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4049, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2622:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2608:24:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4064, + "nodeType": "IfStatement", + "src": "2604:199:17", + "trueBody": { + "id": 4063, + "nodeType": "Block", + "src": "2636:167:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4056, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6742, + "src": "2752:4:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + { + "argumentTypes": null, + "id": 4057, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4011, + "src": "2762:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 4058, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4013, + "src": "2775:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 4059, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4015, + "src": "2788:4:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + }, + { + "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": 4053, + "name": "m_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "2717:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4052, + "name": "IexecCallbackInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 650, + "src": "2694:22:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecCallbackInterface_$650_$", + "typeString": "type(contract IexecCallbackInterface)" + } + }, + "id": 4054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2694:34:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecCallbackInterface_$650", + "typeString": "contract IexecCallbackInterface" + } + }, + "id": 4055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "workOrderCallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 639, + "src": "2694:52:17", + "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": 4060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2694:103:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4051, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2686:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2686:112:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4062, + "nodeType": "ExpressionStatement", + "src": "2686:112:17" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4065, + "name": "WorkOrderCompleted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3800, + "src": "2811:18:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2811:20:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4067, + "nodeType": "EmitStatement", + "src": "2806:25:17" + } + ] + }, + "documentation": null, + "id": 4069, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4018, + "modifierName": { + "argumentTypes": null, + "id": 4017, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3839, + "src": "2407:12:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2407:12:17" + } + ], + "name": "setResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4011, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 4069, + "src": "2355:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4010, + "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": 4013, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 4069, + "src": "2371:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4012, + "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": 4015, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 4069, + "src": "2387:11:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4014, + "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": 4019, + "nodeType": "ParameterList", + "parameters": [], + "src": "2421:0:17" + }, + "scope": 4070, + "src": "2336:499:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 4071, + "src": "90:2748:17" + } + ], + "src": "0:2839:17" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", + "exportedSymbols": { + "WorkOrder": [ + 4070 + ] + }, + "id": 4071, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3788, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:17" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", + "file": "./IexecCallbackInterface.sol", + "id": 3789, + "nodeType": "ImportDirective", + "scope": 4071, + "sourceUnit": 651, + "src": "26:38:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 3790, + "nodeType": "ImportDirective", + "scope": 4071, + "sourceUnit": 2810, + "src": "65:24:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 4070, + "linearizedBaseContracts": [ + 4070 + ], + "name": "WorkOrder", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 3792, + "name": "WorkOrderActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 3791, + "nodeType": "ParameterList", + "parameters": [], + "src": "138:2:17" + }, + "src": "114:27:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 3794, + "name": "WorkOrderReActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 3793, + "nodeType": "ParameterList", + "parameters": [], + "src": "169:2:17" + }, + "src": "143:29:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 3796, + "name": "WorkOrderRevealing", + "nodeType": "EventDefinition", + "parameters": { + "id": 3795, + "nodeType": "ParameterList", + "parameters": [], + "src": "198:2:17" + }, + "src": "174:27:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 3798, + "name": "WorkOrderClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 3797, + "nodeType": "ParameterList", + "parameters": [], + "src": "227:2:17" + }, + "src": "203:27:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 3800, + "name": "WorkOrderCompleted", + "nodeType": "EventDefinition", + "parameters": { + "id": 3799, + "nodeType": "ParameterList", + "parameters": [], + "src": "256:2:17" + }, + "src": "232:27:17" + }, + { + "constant": false, + "id": 3802, + "name": "m_status", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "284:44:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 3801, + "name": "IexecLib.WorkOrderStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2750, + "src": "284:28:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3804, + "name": "m_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "332:31:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "332:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3806, + "name": "m_app", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "367:20:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3805, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "367:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3808, + "name": "m_dataset", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "390:24:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3807, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "390:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3810, + "name": "m_workerpool", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "417:27:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3809, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "417:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3812, + "name": "m_requester", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "447:26:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3811, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "447:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3814, + "name": "m_emitcost", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "477:25:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3813, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "477:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3816, + "name": "m_params", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "505:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 3815, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "505:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3818, + "name": "m_callback", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "531:25:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3817, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "531:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3820, + "name": "m_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "559:28:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3819, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "559:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3822, + "name": "m_stdout", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "591:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 3821, + "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": 3824, + "name": "m_stderr", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "617:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 3823, + "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": 3826, + "name": "m_uri", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "643:20:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 3825, + "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": 3828, + "name": "m_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 4070, + "src": "667:32:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3827, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "667:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 3838, + "nodeType": "Block", + "src": "728:53:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3831, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "740:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3832, + "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": 3833, + "name": "m_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3828, + "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": 3830, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "732:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "732:40:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3836, + "nodeType": "ExpressionStatement", + "src": "732:40:17" + }, + { + "id": 3837, + "nodeType": "PlaceholderStatement", + "src": "776:1:17" + } + ] + }, + "documentation": null, + "id": 3839, + "name": "onlyIexecHub", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3829, + "nodeType": "ParameterList", + "parameters": [], + "src": "724:2:17" + }, + "src": "703:78:17", + "visibility": "internal" + }, + { + "body": { + "id": 3915, + "nodeType": "Block", + "src": "1032:555:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3860, + "name": "m_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3828, + "src": "1036:17:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3861, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1056:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3862, + "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": 3864, + "nodeType": "ExpressionStatement", + "src": "1036:30:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3866, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3843, + "src": "1078:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3868, + "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": 3867, + "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": 3869, + "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": 3865, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1070:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1070:33:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3872, + "nodeType": "ExpressionStatement", + "src": "1070:33:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3873, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "1107:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3874, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "1126:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "1126:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1126:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1107:54:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 3878, + "nodeType": "ExpressionStatement", + "src": "1107:54:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3879, + "name": "m_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3804, + "src": "1165:16:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3880, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3841, + "src": "1184:15:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1165:34:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3882, + "nodeType": "ExpressionStatement", + "src": "1165:34:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3883, + "name": "m_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3806, + "src": "1203:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3884, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3845, + "src": "1222:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1203:23:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3886, + "nodeType": "ExpressionStatement", + "src": "1203:23:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3887, + "name": "m_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3808, + "src": "1230:9:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3888, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3847, + "src": "1249:8:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1230:27:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3890, + "nodeType": "ExpressionStatement", + "src": "1230:27:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3891, + "name": "m_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3810, + "src": "1261:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3892, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3849, + "src": "1280:11:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1261:30:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3894, + "nodeType": "ExpressionStatement", + "src": "1261:30:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3895, + "name": "m_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3812, + "src": "1295:11:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3896, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3843, + "src": "1314:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1295:29:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3898, + "nodeType": "ExpressionStatement", + "src": "1295:29:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3899, + "name": "m_emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3814, + "src": "1328:10:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3900, + "name": "_emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3851, + "src": "1347:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1328:28:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3902, + "nodeType": "ExpressionStatement", + "src": "1328:28:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3903, + "name": "m_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3816, + "src": "1360:8:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3904, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3853, + "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": 3906, + "nodeType": "ExpressionStatement", + "src": "1360:26:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3907, + "name": "m_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "1390:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3908, + "name": "_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3855, + "src": "1409:9:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1390:28:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3910, + "nodeType": "ExpressionStatement", + "src": "1390:28:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3911, + "name": "m_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3820, + "src": "1422:13:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3912, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3857, + "src": "1441:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1422:31:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3914, + "nodeType": "ExpressionStatement", + "src": "1422:31:17" + } + ] + }, + "documentation": "Constructor", + "id": 3916, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "WorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3841, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "832:23:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3840, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "832:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3843, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "859:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3842, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "859:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3845, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "881:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3844, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "881:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3847, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "897:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3846, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "897:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3849, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "917:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3848, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "917:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3851, + "name": "_emitcost", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "940:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "940:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3853, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "961:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3852, + "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": 3855, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "980:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3854, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "980:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3857, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "1001:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3856, + "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": 3859, + "nodeType": "ParameterList", + "parameters": [], + "src": "1032:0:17" + }, + "scope": 4070, + "src": "810:777:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3947, + "nodeType": "Block", + "src": "1644:200:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3922, + "name": "m_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3810, + "src": "1656:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3923, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1672:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3924, + "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": 3921, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1648:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1648:35:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3927, + "nodeType": "ExpressionStatement", + "src": "1648:35:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 3933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3929, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "1695:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3930, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "1707:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "1707:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1707:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1695:47:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3928, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1687:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1687:56:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3935, + "nodeType": "ExpressionStatement", + "src": "1687:56:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3936, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "1747:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3937, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "1758:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "1758:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1758:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1747:49:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 3941, + "nodeType": "ExpressionStatement", + "src": "1747:49:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3942, + "name": "WorkOrderRevealing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3796, + "src": "1805:18:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 3943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1805:20:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3944, + "nodeType": "EmitStatement", + "src": "1800:25:17" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3945, + "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": 3920, + "id": 3946, + "nodeType": "Return", + "src": "1829:11:17" + } + ] + }, + "documentation": null, + "id": 3948, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "startRevealingPhase", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3917, + "nodeType": "ParameterList", + "parameters": [], + "src": "1618:2:17" + }, + "payable": false, + "returnParameters": { + "id": 3920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3919, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3948, + "src": "1637:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3918, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1637:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1636:6:17" + }, + "scope": 4070, + "src": "1590:254:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3979, + "nodeType": "Block", + "src": "1892:202:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3954, + "name": "m_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3810, + "src": "1904:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3955, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "1920:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3956, + "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": 3953, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1896:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1896:35:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3959, + "nodeType": "ExpressionStatement", + "src": "1896:35:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 3965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3961, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "1943:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3962, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "1955:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "1955:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1955:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1943:50:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3960, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1935:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1935:59:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3967, + "nodeType": "ExpressionStatement", + "src": "1935:59:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 3972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3968, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "1998:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3969, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2009:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "2009:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2009:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1998:46:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 3973, + "nodeType": "ExpressionStatement", + "src": "1998:46:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3974, + "name": "WorkOrderReActivated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3794, + "src": "2053:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 3975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2053:22:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3976, + "nodeType": "EmitStatement", + "src": "2048:27:17" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3977, + "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": 3952, + "id": 3978, + "nodeType": "Return", + "src": "2079:11:17" + } + ] + }, + "documentation": null, + "id": 3980, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reActivate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3949, + "nodeType": "ParameterList", + "parameters": [], + "src": "1866:2:17" + }, + "payable": false, + "returnParameters": { + "id": 3952, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3951, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3980, + "src": "1885:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3950, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1885:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1884:6:17" + }, + "scope": 4070, + "src": "1847:247:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4008, + "nodeType": "Block", + "src": "2136:196:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 3990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3986, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "2148:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3987, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2160:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "2160:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3989, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2160:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "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_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 3995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3991, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "2199:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3992, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2211:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "2211:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2211:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "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": 3985, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2140:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2140:110:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3998, + "nodeType": "ExpressionStatement", + "src": "2140:110:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3999, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "2254:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4000, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2265:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "2265:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CLAIMED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2265:36:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2254:47:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4004, + "nodeType": "ExpressionStatement", + "src": "2254:47:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4005, + "name": "WorkOrderClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3798, + "src": "2310:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2310:18:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4007, + "nodeType": "EmitStatement", + "src": "2305:23:17" + } + ] + }, + "documentation": null, + "id": 4009, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3983, + "modifierName": { + "argumentTypes": null, + "id": 3982, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3839, + "src": "2122:12:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2122:12:17" + } + ], + "name": "claim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3981, + "nodeType": "ParameterList", + "parameters": [], + "src": "2112:2:17" + }, + "payable": false, + "returnParameters": { + "id": 3984, + "nodeType": "ParameterList", + "parameters": [], + "src": "2136:0:17" + }, + "scope": 4070, + "src": "2098:234:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4068, + "nodeType": "Block", + "src": "2421:414:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4021, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "2433:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4022, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2445:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "2445:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2445:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2433:50:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4020, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2425:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2425:59:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4027, + "nodeType": "ExpressionStatement", + "src": "2425:59:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4028, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "2488:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4029, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "2499:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "2499:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4031, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2499:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2488:49:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4033, + "nodeType": "ExpressionStatement", + "src": "2488:49:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4034, + "name": "m_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3822, + "src": "2541:8:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4035, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4011, + "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": 4037, + "nodeType": "ExpressionStatement", + "src": "2541:18:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4038, + "name": "m_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3824, + "src": "2563:8:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4039, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4013, + "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": 4041, + "nodeType": "ExpressionStatement", + "src": "2563:18:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4042, + "name": "m_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3826, + "src": "2585:5:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4043, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4015, + "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": 4045, + "nodeType": "ExpressionStatement", + "src": "2585:15:17" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4046, + "name": "m_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "2608:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2630: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": 4047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2622:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4049, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2622:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2608:24:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4064, + "nodeType": "IfStatement", + "src": "2604:199:17", + "trueBody": { + "id": 4063, + "nodeType": "Block", + "src": "2636:167:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4056, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6742, + "src": "2752:4:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + { + "argumentTypes": null, + "id": 4057, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4011, + "src": "2762:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 4058, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4013, + "src": "2775:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 4059, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4015, + "src": "2788:4:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + }, + { + "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": 4053, + "name": "m_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "2717:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4052, + "name": "IexecCallbackInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 650, + "src": "2694:22:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecCallbackInterface_$650_$", + "typeString": "type(contract IexecCallbackInterface)" + } + }, + "id": 4054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2694:34:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecCallbackInterface_$650", + "typeString": "contract IexecCallbackInterface" + } + }, + "id": 4055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "workOrderCallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 639, + "src": "2694:52:17", + "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": 4060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2694:103:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4051, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2686:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2686:112:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4062, + "nodeType": "ExpressionStatement", + "src": "2686:112:17" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4065, + "name": "WorkOrderCompleted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3800, + "src": "2811:18:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2811:20:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4067, + "nodeType": "EmitStatement", + "src": "2806:25:17" + } + ] + }, + "documentation": null, + "id": 4069, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4018, + "modifierName": { + "argumentTypes": null, + "id": 4017, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3839, + "src": "2407:12:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2407:12:17" + } + ], + "name": "setResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4011, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 4069, + "src": "2355:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4010, + "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": 4013, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 4069, + "src": "2371:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4012, + "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": 4015, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 4069, + "src": "2387:11:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4014, + "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": 4019, + "nodeType": "ParameterList", + "parameters": [], + "src": "2421:0:17" + }, + "scope": 4070, + "src": "2336:499:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 4071, + "src": "90:2748:17" + } + ], + "src": "0:2839:17" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T18:32:30.798Z" +} \ No newline at end of file diff --git a/build/contracts/WorkerPool.json b/build/contracts/WorkerPool.json new file mode 100644 index 00000000..8fca5c71 --- /dev/null +++ b/build/contracts/WorkerPool.json @@ -0,0 +1,46776 @@ +{ + "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": "consensusTimout", + "type": "uint256" + }, + { + "name": "winnerCount", + "type": "uint256" + }, + { + "name": "workerpoolOwner", + "type": "address" + } + ], + "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": 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_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" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "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_consensusTimout", + "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": "0x606060405234156200001057600080fd5b60405162002fa938038062002fa9833981016040528080519190602001805182019190602001805191906020018051919060200180519190602001805160008054600160a060020a03191633600160a060020a03908116919091179091559092508291508790811615156200008457600080fd5b60018054600160a060020a03928316600160a060020a0319918216811790925560028054909116909117905581161515620000be57600080fd5b60038054600160a060020a03928316600160a060020a03199182168117909255600480549091169091179055328116339091161415620000fd57600080fd5b6200011632640100000000620021c96200016682021704565b60058580516200012b929160200190620001f6565b5050601e6006556001600755600892909255600955600a555050600f8054600160a060020a03191633600160a060020a03161790556200029b565b60005433600160a060020a039081169116146200018257600080fd5b600160a060020a03811615156200019857600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023957805160ff191683800117855562000269565b8280016001018555821562000269579182015b82811115620002695782518255916020019190600101906200024c565b50620002779291506200027b565b5090565b6200029891905b8082111562000277576000815560010162000282565b90565b612cfe80620002ab6000396000f3006060604052600436106101a85763ffffffff60e060020a600035041663031ee1c881146101ad57806306021e7e146101f05780630c6e29e3146102e7578063126eac43146102fa57806316ebf77d1461036e5780631f1e7406146103905780632b8fd18a146103fe5780633ec6a4c41461043057806340f036051461044f57806341cb01ad1461047457806345b99d28146104935780635a628525146104a65780636ab6936a146104c85780637919233f146104db5780637bd220bb146104fd5780637c60988514610522578063835436b41461058a57806387639c68146105a957806389869163146105bc5780638d7db2f7146105db578063900b7b6214610665578063b32ca9c51461067b578063bb7fb08b1461068e578063c6c5b072146106b0578063c6ced32b146106c3578063cc6f06a3146106d6578063dc988b40146106e9578063deff41c114610714578063e2d36ef514610727578063e653ec6a1461073a578063ec1847b61461074d578063ef9cb4741461076c578063f20e56ec1461078d578063f2fde38b146107a0578063f4efa24c146107bf578063ff266d26146107de575b600080fd5b34156101b857600080fd5b6101de600160a060020a036004351660243560443560ff6064351660843560a4356107fd565b60405190815260200160405180910390f35b34156101fb57600080fd5b6102d360048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610b5b95505050505050565b604051901515815260200160405180910390f35b34156102f257600080fd5b6102d3610ffe565b341561030557600080fd5b61031f600160a060020a036004358116906024351661110b565b6040518087600481111561032f57fe5b60ff168152602081019690965250604080860194909452600160a060020a039092166060850152608084015260a083015260c090910191505180910390f35b341561037957600080fd5b6102d3600160a060020a0360043516602435611187565b341561039b57600080fd5b6103af600160a060020a0360043516611490565b60405197885260208801969096526040808801959095526060870193909352608086019190915260a085015260c0840152600160a060020a0390911660e0830152610100909101905180910390f35b341561040957600080fd5b6104146004356114dc565b604051600160a060020a03909116815260200160405180910390f35b341561043b57600080fd5b6101de600160a060020a0360043516611504565b341561045a57600080fd5b6102d3600160a060020a0360043581169060243516611522565b341561047f57600080fd5b6101de600160a060020a0360043516611562565b341561049e57600080fd5b6101de611574565b34156104b157600080fd5b6102d3600160a060020a0360043516602435611579565b34156104d357600080fd5b6101de611754565b34156104e657600080fd5b6102d3600160a060020a036004351660243561175a565b341561050857600080fd5b61031f600160a060020a036004358116906024351661198a565b341561052d57600080fd5b6102d360048035600160a060020a031690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a031692506119d8915050565b341561059557600080fd5b6102d3600160a060020a0360043516611a41565b34156105b457600080fd5b6101de611b21565b34156105c757600080fd5b6102d3600160a060020a0360043516611b27565b34156105e657600080fd5b6105ee611cc4565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561062a578082015183820152602001610612565b50505050905090810190601f1680156106575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561067057600080fd5b610414600435611d62565b341561068657600080fd5b610414611d8e565b341561069957600080fd5b610414600160a060020a0360043516602435611d9d565b34156106bb57600080fd5b6101de611de0565b34156106ce57600080fd5b6101de611de6565b34156106e157600080fd5b6101de611ded565b34156106f457600080fd5b6102d3600160a060020a0360043581169060243581169060443516611df3565b341561071f57600080fd5b610414611fe6565b341561073257600080fd5b6101de611ff5565b341561074557600080fd5b6102d3611ffb565b341561075857600080fd5b6101de600160a060020a03600435166120c0565b341561077757600080fd5b61078b600435602435604435606435612110565b005b341561079857600080fd5b6101de6121c4565b34156107ab57600080fd5b61078b600160a060020a03600435166121c9565b34156107ca57600080fd5b6103af600160a060020a0360043516612257565b34156107e957600080fd5b6102d3600160a060020a03600435166122a9565b600160a060020a0386166000908152600d602052604081206005810154829042111561082857600080fd5b600189600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561086757600080fd5b5af1151561087457600080fd5b50505060405180519050600481111561088957fe5b1461089357600080fd5b50600160a060020a038089166000908152600e60209081526040808320339094168352929052208715156108c657600080fd5b8615156108d257600080fd5b6003810154600160a060020a0316156109a157600188886040517f19457468657265756d205369676e6564204d6573736167653a0a3634000000008152601c810192909252603c820152605c0160405180910390208787876040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af1151561097c57600080fd5b5050602060405103516003820154600160a060020a039081169116146109a157600080fd5b6001815460ff1660048111156109b357fe5b146109bd57600080fd5b805460ff1916600290811782556001820189905580820188905554600160a060020a0316638c0f8e113360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610a2557600080fd5b5af11515610a3257600080fd5b505050604051805160048301555060078201805460018101610a548382612c7d565b5060009182526020909120018054600160a060020a03191633600160a060020a03818116929092179092556002546001850154911691638981d077918c919060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610ae257600080fd5b5af11515610aef57600080fd5b505050604051805190501515610b0457600080fd5b33600160a060020a031689600160a060020a03167f1593a9a000265660fd299c9f8c9bbacfeb4d428861542e6c44b68615324225d48a60405190815260200160405180910390a35060010154979650505050505050565b60008054819033600160a060020a03908116911614610b7957600080fd5b50600160a060020a0385166000908152600d602052604090206005810154421115610ba357600080fd5b42816003015411158015610bbb575060008160040154115b80610bcd575080600601548160040154145b1515610bd857600080fd5b610cb48682610120604051908101604052908160008201548152602001600182015481526020016002820154600019166000191681526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201805480602002602001604051908101604052809291908181526020018280548015610c9157602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610c73575b505050918352505060089190910154600160a060020a031660209091015261246b565b1515610cbf57600080fd5b600254600160a060020a031663b6b57ebd878787876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610d43578082015183820152602001610d2b565b50505050905090810190601f168015610d705780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610da6578082015183820152602001610d8e565b50505050905090810190601f168015610dd35780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610e09578082015183820152602001610df1565b50505050905090810190601f168015610e365780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610e5957600080fd5b5af11515610e6657600080fd5b505050604051805190501515610e7b57600080fd5b85600160a060020a03167f4bfecaabd22e1b95e9aa9eb161b19f645b3460e7533d5e0f6349faf8dc0a724486868660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610eee578082015183820152602001610ed6565b50505050905090810190601f168015610f1b5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610f51578082015183820152602001610f39565b50505050905090810190601f168015610f7e5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610fb4578082015183820152602001610f9c565b50505050905090810190601f168015610fe15780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250600195945050505050565b6002546000908190600160a060020a031663b218cf153360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561105357600080fd5b5af1151561106057600080fd5b50505060405180519050151561107557600080fd5b600b8054600181016110878382612c7d565b60009283526020909220018054600160a060020a03191633600160a060020a031617905590506110b88160016128e0565b600160a060020a0333166000818152600c60205260409081902092909255907f67799bb3ec4a3491a0c1c4e6d02ec99927df7ba7fa268c216672c0c5ecc1e8f8905160405180910390a2600191505b5090565b60008060008060008060006111208989611522565b151561112b57600080fd5b50505050600160a060020a039485166000908152600e602090815260408083209688168352959052939093208054600182015460028301546003840154600485015460059095015460ff90941699929891975016945091925090565b6000805481908190819033600160a060020a039081169116146111a957600080fd5b600160a060020a0386166000908152600d6020526040902060058101549093504211156111d557600080fd5b85600160a060020a0316632d4d671f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561121257600080fd5b5af1151561121f57600080fd5b50505060405180519050151561123457600080fd5b60006006840181905591505b6007830154821015611300576007830180548390811061125c57fe5b6000918252602080832090910154600160a060020a038981168452600e8352604080852091909216808552925290912060010154909150851480156112d457506002600160a060020a038088166000908152600e602090815260408083209386168352929052205460ff1660048111156112d257fe5b145b156112f55760068301546112ef90600163ffffffff6128f216565b60068401555b816001019150611240565b60068301546000901161131257600080fd5b6002808401869055805460045461144292429261143692600160a060020a0391821691631f87172691811690634cfddcfb908e1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561137957600080fd5b5af1151561138657600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156113c657600080fd5b5af115156113d357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561141357600080fd5b5af1151561142057600080fd5b505050604051805191905063ffffffff61290c16565b9063ffffffff6128f216565b6003840155600160a060020a0386167fa1b9f527f9799a46d54103401c99dc62f3744afe1d095a1c53620758dc38b2868660405190815260200160405180910390a250600195945050505050565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600890970154959694959394929391929091600160a060020a031688565b600b8054829081106114ea57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03166000908152600d602052604090206007015490565b600080600160a060020a038085166000908152600e602090815260408083209387168352929052205460ff16600481111561155957fe5b14159392505050565b600c6020526000908152604090205481565b600a81565b600160a060020a0382166000908152600d60205260408120600581015482904211156115a457600080fd5b50600160a060020a038085166000908152600e6020908152604080832033909416835292905220600285600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561160a57600080fd5b5af1151561161757600080fd5b50505060405180519050600481111561162c57fe5b1461163657600080fd5b600382015442901161164757600080fd5b6002815460ff16600481111561165957fe5b1461166357600080fd5b600282015460018201541461167757600080fd5b8360405190815260200160405190819003902060018201541461169957600080fd5b33604051600160a060020a03919091166c01000000000000000000000000028152601401604051809103902084186040519081526020016040519081900390206002820154146116e857600080fd5b805460ff1916600317815560048201546117039060016128f2565b6004830155600160a060020a033381169086167f4f5df7005a83b6f11e90ead1268eb534656169a5034e8d239c763471294be3d58660405190815260200160405180910390a3506001949350505050565b60095481565b60015460009081908190819033600160a060020a0390811691161461177e57600080fd5b600454600160a060020a0316634cfddcfb8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156117c657600080fd5b5af115156117d357600080fd5b50505060405180516002549094506118349150429061143690600a90600160a060020a0316631f8717268860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561141357600080fd5b600160a060020a038088166000908152600d60205260409081902060045493955093509116906338c4090b9087905160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561189657600080fd5b5af115156118a357600080fd5b5050506040518051825550600454600160a060020a03166355d66c3e8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156118f657600080fd5b5af1151561190357600080fd5b5050506040518051600883018054600160a060020a031916600160a060020a039290921691909117905550600654815461193c91612937565b600182015560058101829055600160a060020a0386167f9c081174ce28e85a62530b1102b0df58428b8da5027e81fbb4984aa1dc03310760405160405180910390a250600195945050505050565b600e60209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460059095015460ff9094169492939192600160a060020a039091169186565b60008054819033600160a060020a039081169116146119f657600080fd5b5060005b8351811015611a3657611a2385858381518110611a1357fe5b9060200190602002015185611df3565b1515611a2e57600080fd5b6001016119fa565b506001949350505050565b6000805433600160a060020a03908116911614611a5d57600080fd5b600254600160a060020a031663835436b48360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611aad57600080fd5b5af11515611aba57600080fd5b505050604051805190501515611acf57600080fd5b611ad88261294c565b1515611ae357600080fd5b81600160a060020a03167fb22288215ec8cbd28148d7ffa053c6e6e23c62b58d0eb71a6387b59fad33a01960405160405180910390a2506001919050565b60075481565b60015460009081908190819033600160a060020a03908116911614611b4b57600080fd5b600160a060020a0385166000908152600d6020526040902060058101549093504211611b7657600080fd5b600091505b6007830154821015611c835760078301805483908110611b9757fe5b600091825260209091200154600160a060020a031690506001600160a060020a038087166000908152600e602090815260408083209386168352929052205460ff166004811115611be457fe5b14611c78576002546001840154600160a060020a0390911690636b4f6865908790849060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611c5657600080fd5b5af11515611c6357600080fd5b505050604051805190501515611c7857600080fd5b816001019150611b7b565b84600160a060020a03167f8d8d47a5d5034ce9c01a2308543fdaa83d60863e4b735b7d57361987cdc8ed9460405160405180910390a2506001949350505050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d5a5780601f10611d2f57610100808354040283529160200191611d5a565b820191906000526020600020905b815481529060010190602001808311611d3d57829003601f168201915b505050505081565b6000600b82815481101515611d7357fe5b600091825260209091200154600160a060020a031692915050565b600f54600160a060020a031681565b600160a060020a0382166000908152600d60205260408120600701805483908110611dc457fe5b600091825260209091200154600160a060020a03169392505050565b60065481565b600b545b90565b600a5481565b60008054819081908190819033600160a060020a03908116911614611e1757600080fd5b600188600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611e5657600080fd5b5af11515611e6357600080fd5b505050604051805190506004811115611e7857fe5b14611e8257600080fd5b600160a060020a038089166000818152600e60209081526040808320948c168352938152838220928252600d90529190912060058101549195509350421115611eca57600080fd5b600254600160a060020a031663f69f190c8860405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b1515611f1957600080fd5b5af11515611f2657600080fd5b50505060405180519060200180519193509091505030600160a060020a0390811690831614611f5457600080fd5b6000845460ff166004811115611f6657fe5b14611f7057600080fd5b835460ff19166001178455600384018054600160a060020a03888116600160a060020a0319909216919091179091558781169089167f9cade22a92ceb705fefd1c03e9ac4dbbf787cd493ec63a9f2b078cbc859c06298360405190815260200160405180910390a3506001979650505050505050565b600054600160a060020a031681565b60085481565b600254600090600160a060020a0316631708d7253360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561204e57600080fd5b5af1151561205b57600080fd5b50505060405180519050151561207057600080fd5b6120793361294c565b151561208457600080fd5b33600160a060020a03167fd08d61a9c25ada3385d23554bae10e5d15c9518d4bfd27571c190558f7030f6e60405160405180910390a250600190565b600160a060020a0381166000818152600c6020526040812054600b805492939192839081106120eb57fe5b600091825260209091200154600160a060020a03161461210a57600080fd5b92915050565b60005433600160a060020a0390811691161461212b57600080fd5b7f52bb55d3097463659f724f9b420d259719787a8563b48eb82368680999bfea07600654856007548660095487600a5488604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a160648311156121b057600080fd5b600693909355600791909155600955600a55565b600281565b60005433600160a060020a039081169116146121e457600080fd5b600160a060020a03811615156121f957600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b600160a060020a039081166000908152600d6020526040902080546001820154600283015460038401546004850154600586015460068701546008909701549598949793969295919490939190911690565b6000805481908190819033600160a060020a039081169116146122cb57600080fd5b600160a060020a0385166000908152600d6020526040902060058101549093504211156122f757600080fd5b4283600301541115801561230d57506004830154155b151561231857600080fd5b84600160a060020a0316631a514d976040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561235557600080fd5b5af1151561236257600080fd5b50505060405180519050151561237757600080fd5b600091505b6007830154821015612415576007830180548390811061239857fe5b60009182526020808320909101546002860154600160a060020a038981168552600e84526040808620919093168086529352922060010154909250141561240a57600160a060020a038581166000908152600e60209081526040808320938516835292905220805460ff191660041790555b81600101915061237c565b600060068401819055600284018190556003840155600160a060020a0385167f631055693b4cbe13143279bc507432c42de858b6d04b3ba4e1ff3d2c88a7e52b60405160405180910390a2506001949350505050565b60008060008060008060008061247f612ca6565b6000808b5193508b60e001519250600099505b82518a101561257b57828a815181106124a757fe5b90602001906020020151600160a060020a03808f166000908152600e6020908152604080832093851683529290522090995091506003825460ff1660048111156124ed57fe5b1415612558576003820154600160a060020a0316151561250e576001612511565b60035b60ff16975061253561253089846004015461290c90919063ffffffff16565b612a30565b600101965061254a868863ffffffff6128f216565b600583018890559550612570565b61256d8c60200151859063ffffffff6128f216565b93505b896001019950612492565b6000861161258857600080fd5b6125ae6125a160075460646128e090919063ffffffff16565b859063ffffffff61293716565b9050600099505b82518a101561283c57828a815181106125ca57fe5b9060200190602002015198506003600160a060020a03808f166000908152600e60209081526040808320938e168352929052205460ff16600481111561260c57fe5b141561278e57600160a060020a03808e166000908152600e60209081526040808320938d168352929052206005015461264d9082908863ffffffff612c4916565b945061265f848663ffffffff6128e016565b9350600260009054906101000a9004600160a060020a0316600160a060020a0316636b4f68658e8b8f6020015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156126db57600080fd5b5af115156126e857600080fd5b5050506040518051905015156126fd57600080fd5b600254600160a060020a0316630c91f2d08e8b88600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b151561276757600080fd5b5af1151561277457600080fd5b50505060405180519050151561278957600080fd5b612831565b600260009054906101000a9004600160a060020a0316600160a060020a0316639fdf96258e8b8f60200151600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b151561280f57600080fd5b5af1151561281c57600080fd5b50505060405180519050151561283157600080fd5b8960010199506125b5565b600254600160a060020a0316630c91f2d08e6101008f015187600060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b15156128ab57600080fd5b5af115156128b857600080fd5b5050506040518051905015156128cd57600080fd5b5060019c9b505050505050505050505050565b6000828211156128ec57fe5b50900390565b60008282018381101561290157fe5b8091505b5092915050565b60008083151561291f5760009150612905565b5082820282848281151561292f57fe5b041461290157fe5b600061294583836064612c49565b9392505050565b600080600061295a846120c0565b600b80549193509061297390600163ffffffff6128e016565b8154811061297d57fe5b600091825260209091200154600b8054600160a060020a0390921692508291849081106129a657fe5b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790559183168152600c90915260409020829055600b80546129ee9060016128e0565b815481106129f857fe5b60009182526020909120018054600160a060020a0319169055600b54612a2590600163ffffffff6128e016565b611a36600b82612c7d565b700100000000000000000000000000000000680100000000000000006401000000006201000061010060106004600260001989019081041790810417908104179081041790810417908104179081041790810417600101906000906040517ff8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd81527ff5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe60208201527ff6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a827252361660408201527fc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff60608201527ff7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e60808201527fe39ed557db96902cd38ed14fad815115c786af479b7e8324736353433727170760a08201527fc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d236242260660c08201527f753a6d1b65325d0c552a4d1345224105391a310b29122104190a11030902010060e082015261010081016040527e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff7f01000000000000000000000000000000000000000000000000000000000000008082870204818160ff038501510495507f8000000000000000000000000000000000000000000000000000000000000000851161010002860195505050505050919050565b6000612c5e612c58858561290c565b83612c66565b949350505050565b6000808284811515612c7457fe5b04949350505050565b815481835581811511612ca157600083815260209020612ca1918101908301612cb8565b505050565b60206040519081016040526000815290565b611dea91905b808211156111075760008155600101612cbe5600a165627a7a72305820ff2d27cc1146b9eb2b7159a53e32446ccdd19e7134daecbbd9cd4b6a2f66228e0029", + "deployedBytecode": "0x6060604052600436106101a85763ffffffff60e060020a600035041663031ee1c881146101ad57806306021e7e146101f05780630c6e29e3146102e7578063126eac43146102fa57806316ebf77d1461036e5780631f1e7406146103905780632b8fd18a146103fe5780633ec6a4c41461043057806340f036051461044f57806341cb01ad1461047457806345b99d28146104935780635a628525146104a65780636ab6936a146104c85780637919233f146104db5780637bd220bb146104fd5780637c60988514610522578063835436b41461058a57806387639c68146105a957806389869163146105bc5780638d7db2f7146105db578063900b7b6214610665578063b32ca9c51461067b578063bb7fb08b1461068e578063c6c5b072146106b0578063c6ced32b146106c3578063cc6f06a3146106d6578063dc988b40146106e9578063deff41c114610714578063e2d36ef514610727578063e653ec6a1461073a578063ec1847b61461074d578063ef9cb4741461076c578063f20e56ec1461078d578063f2fde38b146107a0578063f4efa24c146107bf578063ff266d26146107de575b600080fd5b34156101b857600080fd5b6101de600160a060020a036004351660243560443560ff6064351660843560a4356107fd565b60405190815260200160405180910390f35b34156101fb57600080fd5b6102d360048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610b5b95505050505050565b604051901515815260200160405180910390f35b34156102f257600080fd5b6102d3610ffe565b341561030557600080fd5b61031f600160a060020a036004358116906024351661110b565b6040518087600481111561032f57fe5b60ff168152602081019690965250604080860194909452600160a060020a039092166060850152608084015260a083015260c090910191505180910390f35b341561037957600080fd5b6102d3600160a060020a0360043516602435611187565b341561039b57600080fd5b6103af600160a060020a0360043516611490565b60405197885260208801969096526040808801959095526060870193909352608086019190915260a085015260c0840152600160a060020a0390911660e0830152610100909101905180910390f35b341561040957600080fd5b6104146004356114dc565b604051600160a060020a03909116815260200160405180910390f35b341561043b57600080fd5b6101de600160a060020a0360043516611504565b341561045a57600080fd5b6102d3600160a060020a0360043581169060243516611522565b341561047f57600080fd5b6101de600160a060020a0360043516611562565b341561049e57600080fd5b6101de611574565b34156104b157600080fd5b6102d3600160a060020a0360043516602435611579565b34156104d357600080fd5b6101de611754565b34156104e657600080fd5b6102d3600160a060020a036004351660243561175a565b341561050857600080fd5b61031f600160a060020a036004358116906024351661198a565b341561052d57600080fd5b6102d360048035600160a060020a031690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a031692506119d8915050565b341561059557600080fd5b6102d3600160a060020a0360043516611a41565b34156105b457600080fd5b6101de611b21565b34156105c757600080fd5b6102d3600160a060020a0360043516611b27565b34156105e657600080fd5b6105ee611cc4565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561062a578082015183820152602001610612565b50505050905090810190601f1680156106575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561067057600080fd5b610414600435611d62565b341561068657600080fd5b610414611d8e565b341561069957600080fd5b610414600160a060020a0360043516602435611d9d565b34156106bb57600080fd5b6101de611de0565b34156106ce57600080fd5b6101de611de6565b34156106e157600080fd5b6101de611ded565b34156106f457600080fd5b6102d3600160a060020a0360043581169060243581169060443516611df3565b341561071f57600080fd5b610414611fe6565b341561073257600080fd5b6101de611ff5565b341561074557600080fd5b6102d3611ffb565b341561075857600080fd5b6101de600160a060020a03600435166120c0565b341561077757600080fd5b61078b600435602435604435606435612110565b005b341561079857600080fd5b6101de6121c4565b34156107ab57600080fd5b61078b600160a060020a03600435166121c9565b34156107ca57600080fd5b6103af600160a060020a0360043516612257565b34156107e957600080fd5b6102d3600160a060020a03600435166122a9565b600160a060020a0386166000908152600d602052604081206005810154829042111561082857600080fd5b600189600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561086757600080fd5b5af1151561087457600080fd5b50505060405180519050600481111561088957fe5b1461089357600080fd5b50600160a060020a038089166000908152600e60209081526040808320339094168352929052208715156108c657600080fd5b8615156108d257600080fd5b6003810154600160a060020a0316156109a157600188886040517f19457468657265756d205369676e6564204d6573736167653a0a3634000000008152601c810192909252603c820152605c0160405180910390208787876040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af1151561097c57600080fd5b5050602060405103516003820154600160a060020a039081169116146109a157600080fd5b6001815460ff1660048111156109b357fe5b146109bd57600080fd5b805460ff1916600290811782556001820189905580820188905554600160a060020a0316638c0f8e113360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610a2557600080fd5b5af11515610a3257600080fd5b505050604051805160048301555060078201805460018101610a548382612c7d565b5060009182526020909120018054600160a060020a03191633600160a060020a03818116929092179092556002546001850154911691638981d077918c919060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610ae257600080fd5b5af11515610aef57600080fd5b505050604051805190501515610b0457600080fd5b33600160a060020a031689600160a060020a03167f1593a9a000265660fd299c9f8c9bbacfeb4d428861542e6c44b68615324225d48a60405190815260200160405180910390a35060010154979650505050505050565b60008054819033600160a060020a03908116911614610b7957600080fd5b50600160a060020a0385166000908152600d602052604090206005810154421115610ba357600080fd5b42816003015411158015610bbb575060008160040154115b80610bcd575080600601548160040154145b1515610bd857600080fd5b610cb48682610120604051908101604052908160008201548152602001600182015481526020016002820154600019166000191681526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201805480602002602001604051908101604052809291908181526020018280548015610c9157602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610c73575b505050918352505060089190910154600160a060020a031660209091015261246b565b1515610cbf57600080fd5b600254600160a060020a031663b6b57ebd878787876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610d43578082015183820152602001610d2b565b50505050905090810190601f168015610d705780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610da6578082015183820152602001610d8e565b50505050905090810190601f168015610dd35780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610e09578082015183820152602001610df1565b50505050905090810190601f168015610e365780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610e5957600080fd5b5af11515610e6657600080fd5b505050604051805190501515610e7b57600080fd5b85600160a060020a03167f4bfecaabd22e1b95e9aa9eb161b19f645b3460e7533d5e0f6349faf8dc0a724486868660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610eee578082015183820152602001610ed6565b50505050905090810190601f168015610f1b5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610f51578082015183820152602001610f39565b50505050905090810190601f168015610f7e5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610fb4578082015183820152602001610f9c565b50505050905090810190601f168015610fe15780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250600195945050505050565b6002546000908190600160a060020a031663b218cf153360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561105357600080fd5b5af1151561106057600080fd5b50505060405180519050151561107557600080fd5b600b8054600181016110878382612c7d565b60009283526020909220018054600160a060020a03191633600160a060020a031617905590506110b88160016128e0565b600160a060020a0333166000818152600c60205260409081902092909255907f67799bb3ec4a3491a0c1c4e6d02ec99927df7ba7fa268c216672c0c5ecc1e8f8905160405180910390a2600191505b5090565b60008060008060008060006111208989611522565b151561112b57600080fd5b50505050600160a060020a039485166000908152600e602090815260408083209688168352959052939093208054600182015460028301546003840154600485015460059095015460ff90941699929891975016945091925090565b6000805481908190819033600160a060020a039081169116146111a957600080fd5b600160a060020a0386166000908152600d6020526040902060058101549093504211156111d557600080fd5b85600160a060020a0316632d4d671f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561121257600080fd5b5af1151561121f57600080fd5b50505060405180519050151561123457600080fd5b60006006840181905591505b6007830154821015611300576007830180548390811061125c57fe5b6000918252602080832090910154600160a060020a038981168452600e8352604080852091909216808552925290912060010154909150851480156112d457506002600160a060020a038088166000908152600e602090815260408083209386168352929052205460ff1660048111156112d257fe5b145b156112f55760068301546112ef90600163ffffffff6128f216565b60068401555b816001019150611240565b60068301546000901161131257600080fd5b6002808401869055805460045461144292429261143692600160a060020a0391821691631f87172691811690634cfddcfb908e1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561137957600080fd5b5af1151561138657600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156113c657600080fd5b5af115156113d357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561141357600080fd5b5af1151561142057600080fd5b505050604051805191905063ffffffff61290c16565b9063ffffffff6128f216565b6003840155600160a060020a0386167fa1b9f527f9799a46d54103401c99dc62f3744afe1d095a1c53620758dc38b2868660405190815260200160405180910390a250600195945050505050565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600890970154959694959394929391929091600160a060020a031688565b600b8054829081106114ea57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03166000908152600d602052604090206007015490565b600080600160a060020a038085166000908152600e602090815260408083209387168352929052205460ff16600481111561155957fe5b14159392505050565b600c6020526000908152604090205481565b600a81565b600160a060020a0382166000908152600d60205260408120600581015482904211156115a457600080fd5b50600160a060020a038085166000908152600e6020908152604080832033909416835292905220600285600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561160a57600080fd5b5af1151561161757600080fd5b50505060405180519050600481111561162c57fe5b1461163657600080fd5b600382015442901161164757600080fd5b6002815460ff16600481111561165957fe5b1461166357600080fd5b600282015460018201541461167757600080fd5b8360405190815260200160405190819003902060018201541461169957600080fd5b33604051600160a060020a03919091166c01000000000000000000000000028152601401604051809103902084186040519081526020016040519081900390206002820154146116e857600080fd5b805460ff1916600317815560048201546117039060016128f2565b6004830155600160a060020a033381169086167f4f5df7005a83b6f11e90ead1268eb534656169a5034e8d239c763471294be3d58660405190815260200160405180910390a3506001949350505050565b60095481565b60015460009081908190819033600160a060020a0390811691161461177e57600080fd5b600454600160a060020a0316634cfddcfb8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156117c657600080fd5b5af115156117d357600080fd5b50505060405180516002549094506118349150429061143690600a90600160a060020a0316631f8717268860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561141357600080fd5b600160a060020a038088166000908152600d60205260409081902060045493955093509116906338c4090b9087905160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561189657600080fd5b5af115156118a357600080fd5b5050506040518051825550600454600160a060020a03166355d66c3e8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156118f657600080fd5b5af1151561190357600080fd5b5050506040518051600883018054600160a060020a031916600160a060020a039290921691909117905550600654815461193c91612937565b600182015560058101829055600160a060020a0386167f9c081174ce28e85a62530b1102b0df58428b8da5027e81fbb4984aa1dc03310760405160405180910390a250600195945050505050565b600e60209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460059095015460ff9094169492939192600160a060020a039091169186565b60008054819033600160a060020a039081169116146119f657600080fd5b5060005b8351811015611a3657611a2385858381518110611a1357fe5b9060200190602002015185611df3565b1515611a2e57600080fd5b6001016119fa565b506001949350505050565b6000805433600160a060020a03908116911614611a5d57600080fd5b600254600160a060020a031663835436b48360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611aad57600080fd5b5af11515611aba57600080fd5b505050604051805190501515611acf57600080fd5b611ad88261294c565b1515611ae357600080fd5b81600160a060020a03167fb22288215ec8cbd28148d7ffa053c6e6e23c62b58d0eb71a6387b59fad33a01960405160405180910390a2506001919050565b60075481565b60015460009081908190819033600160a060020a03908116911614611b4b57600080fd5b600160a060020a0385166000908152600d6020526040902060058101549093504211611b7657600080fd5b600091505b6007830154821015611c835760078301805483908110611b9757fe5b600091825260209091200154600160a060020a031690506001600160a060020a038087166000908152600e602090815260408083209386168352929052205460ff166004811115611be457fe5b14611c78576002546001840154600160a060020a0390911690636b4f6865908790849060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611c5657600080fd5b5af11515611c6357600080fd5b505050604051805190501515611c7857600080fd5b816001019150611b7b565b84600160a060020a03167f8d8d47a5d5034ce9c01a2308543fdaa83d60863e4b735b7d57361987cdc8ed9460405160405180910390a2506001949350505050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d5a5780601f10611d2f57610100808354040283529160200191611d5a565b820191906000526020600020905b815481529060010190602001808311611d3d57829003601f168201915b505050505081565b6000600b82815481101515611d7357fe5b600091825260209091200154600160a060020a031692915050565b600f54600160a060020a031681565b600160a060020a0382166000908152600d60205260408120600701805483908110611dc457fe5b600091825260209091200154600160a060020a03169392505050565b60065481565b600b545b90565b600a5481565b60008054819081908190819033600160a060020a03908116911614611e1757600080fd5b600188600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611e5657600080fd5b5af11515611e6357600080fd5b505050604051805190506004811115611e7857fe5b14611e8257600080fd5b600160a060020a038089166000818152600e60209081526040808320948c168352938152838220928252600d90529190912060058101549195509350421115611eca57600080fd5b600254600160a060020a031663f69f190c8860405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b1515611f1957600080fd5b5af11515611f2657600080fd5b50505060405180519060200180519193509091505030600160a060020a0390811690831614611f5457600080fd5b6000845460ff166004811115611f6657fe5b14611f7057600080fd5b835460ff19166001178455600384018054600160a060020a03888116600160a060020a0319909216919091179091558781169089167f9cade22a92ceb705fefd1c03e9ac4dbbf787cd493ec63a9f2b078cbc859c06298360405190815260200160405180910390a3506001979650505050505050565b600054600160a060020a031681565b60085481565b600254600090600160a060020a0316631708d7253360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561204e57600080fd5b5af1151561205b57600080fd5b50505060405180519050151561207057600080fd5b6120793361294c565b151561208457600080fd5b33600160a060020a03167fd08d61a9c25ada3385d23554bae10e5d15c9518d4bfd27571c190558f7030f6e60405160405180910390a250600190565b600160a060020a0381166000818152600c6020526040812054600b805492939192839081106120eb57fe5b600091825260209091200154600160a060020a03161461210a57600080fd5b92915050565b60005433600160a060020a0390811691161461212b57600080fd5b7f52bb55d3097463659f724f9b420d259719787a8563b48eb82368680999bfea07600654856007548660095487600a5488604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a160648311156121b057600080fd5b600693909355600791909155600955600a55565b600281565b60005433600160a060020a039081169116146121e457600080fd5b600160a060020a03811615156121f957600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b600160a060020a039081166000908152600d6020526040902080546001820154600283015460038401546004850154600586015460068701546008909701549598949793969295919490939190911690565b6000805481908190819033600160a060020a039081169116146122cb57600080fd5b600160a060020a0385166000908152600d6020526040902060058101549093504211156122f757600080fd5b4283600301541115801561230d57506004830154155b151561231857600080fd5b84600160a060020a0316631a514d976040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561235557600080fd5b5af1151561236257600080fd5b50505060405180519050151561237757600080fd5b600091505b6007830154821015612415576007830180548390811061239857fe5b60009182526020808320909101546002860154600160a060020a038981168552600e84526040808620919093168086529352922060010154909250141561240a57600160a060020a038581166000908152600e60209081526040808320938516835292905220805460ff191660041790555b81600101915061237c565b600060068401819055600284018190556003840155600160a060020a0385167f631055693b4cbe13143279bc507432c42de858b6d04b3ba4e1ff3d2c88a7e52b60405160405180910390a2506001949350505050565b60008060008060008060008061247f612ca6565b6000808b5193508b60e001519250600099505b82518a101561257b57828a815181106124a757fe5b90602001906020020151600160a060020a03808f166000908152600e6020908152604080832093851683529290522090995091506003825460ff1660048111156124ed57fe5b1415612558576003820154600160a060020a0316151561250e576001612511565b60035b60ff16975061253561253089846004015461290c90919063ffffffff16565b612a30565b600101965061254a868863ffffffff6128f216565b600583018890559550612570565b61256d8c60200151859063ffffffff6128f216565b93505b896001019950612492565b6000861161258857600080fd5b6125ae6125a160075460646128e090919063ffffffff16565b859063ffffffff61293716565b9050600099505b82518a101561283c57828a815181106125ca57fe5b9060200190602002015198506003600160a060020a03808f166000908152600e60209081526040808320938e168352929052205460ff16600481111561260c57fe5b141561278e57600160a060020a03808e166000908152600e60209081526040808320938d168352929052206005015461264d9082908863ffffffff612c4916565b945061265f848663ffffffff6128e016565b9350600260009054906101000a9004600160a060020a0316600160a060020a0316636b4f68658e8b8f6020015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156126db57600080fd5b5af115156126e857600080fd5b5050506040518051905015156126fd57600080fd5b600254600160a060020a0316630c91f2d08e8b88600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b151561276757600080fd5b5af1151561277457600080fd5b50505060405180519050151561278957600080fd5b612831565b600260009054906101000a9004600160a060020a0316600160a060020a0316639fdf96258e8b8f60200151600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b151561280f57600080fd5b5af1151561281c57600080fd5b50505060405180519050151561283157600080fd5b8960010199506125b5565b600254600160a060020a0316630c91f2d08e6101008f015187600060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b15156128ab57600080fd5b5af115156128b857600080fd5b5050506040518051905015156128cd57600080fd5b5060019c9b505050505050505050505050565b6000828211156128ec57fe5b50900390565b60008282018381101561290157fe5b8091505b5092915050565b60008083151561291f5760009150612905565b5082820282848281151561292f57fe5b041461290157fe5b600061294583836064612c49565b9392505050565b600080600061295a846120c0565b600b80549193509061297390600163ffffffff6128e016565b8154811061297d57fe5b600091825260209091200154600b8054600160a060020a0390921692508291849081106129a657fe5b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790559183168152600c90915260409020829055600b80546129ee9060016128e0565b815481106129f857fe5b60009182526020909120018054600160a060020a0319169055600b54612a2590600163ffffffff6128e016565b611a36600b82612c7d565b700100000000000000000000000000000000680100000000000000006401000000006201000061010060106004600260001989019081041790810417908104179081041790810417908104179081041790810417600101906000906040517ff8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd81527ff5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe60208201527ff6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a827252361660408201527fc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff60608201527ff7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e60808201527fe39ed557db96902cd38ed14fad815115c786af479b7e8324736353433727170760a08201527fc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d236242260660c08201527f753a6d1b65325d0c552a4d1345224105391a310b29122104190a11030902010060e082015261010081016040527e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff7f01000000000000000000000000000000000000000000000000000000000000008082870204818160ff038501510495507f8000000000000000000000000000000000000000000000000000000000000000851161010002860195505050505050919050565b6000612c5e612c58858561290c565b83612c66565b949350505050565b6000808284811515612c7457fe5b04949350505050565b815481835581811511612ca157600083815260209020612ca1918101908301612cb8565b505050565b60206040519081016040526000815290565b611dea91905b808211156111075760008155600101612cbe5600a165627a7a72305820ff2d27cc1146b9eb2b7159a53e32446ccdd19e7134daecbbd9cd4b6a2f66228e0029", + "sourceMap": "253:17186:18:-;;;2782:1037;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:7:14;:20;;-1:-1:-1;;;;;;637:20:14;647:10;-1:-1:-1;;;;;637:20:14;;;;;;;;;;2782:1037:18;;-1:-1:-1;2782:1037:18;;-1:-1:-1;3030:16:18;;334:30:7;;;;326:39;;;;;;369:15;:36;;-1:-1:-1;;;;;369:36:7;;;-1:-1:-1;;;;;;369:36:7;;;;;;;;409:17;:55;;;;;;;;;;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:28;3215:9;3197:17;;;;;;:28;:::i;:::-;3253:13;3288:12;;3253:47;;;;;;;;:::i;:::-;-1:-1:-1;;3339:2:18;3304:18;:37;3418:1;3383:28;:36;3485:29;:63;;;;3629:32;:66;3699:32;:66;-1:-1:-1;;3769:22:18;:45;;-1:-1:-1;;;;;;3769:45:18;3804:10;-1:-1:-1;;;;;3769:45:18;;;;253:17186;;818:176:14;472:7;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;894:23:14;;;;886:32;;;;;;948:7;;-1:-1:-1;;;;;927:40:14;;;;948:7;927:40;;;;;;;;;;971:7;:19;;-1:-1:-1;;;;;;971:19:14;-1:-1:-1;;;;;971:19:14;;;;;;;;;;818:176::o;253:17186:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;253:17186:18;;;-1:-1:-1;253:17186:18;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "253:17186:18:-;;;;;;;;-1:-1:-1;;;253:17186:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10438:1292;;;;;;;;;;;;-1:-1:-1;;;;;10438:1292:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14770:690;;;;;;;;;;;;;-1:-1:-1;;;;;14770:690:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14770:690:18;;-1:-1:-1;14770:690:18;;-1:-1:-1;;;;;;14770:690:18;;;;;;;;;;;;;;;;;;5122:274;;;;;;;;;;;;7343:567;;;;;;;;;;-1:-1:-1;;;;;7343:567:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7343:567:18;;;;;;;;-1:-1:-1;;;;;7343:567:18;;;;;;;;;;;;-1:-1:-1;7343:567:18;;;;;;;;-1:-1:-1;7343:567:18;;;;;;11733:1120;;;;;;;;;;;;-1:-1:-1;;;;;11733:1120:18;;;;;1127:57;;;;;;;;;;;;-1:-1:-1;;;;;1127:57:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1127:57:18;;;;;;;;;;;;;;;;;;988:44;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;988:44:18;;;;;;;;;;;;;;;6834:147;;;;;;;;;;;;-1:-1:-1;;;;;6834:147:18;;;7137:203;;;;;;;;;;-1:-1:-1;;;;;7137:203:18;;;;;;;;;;1035:48;;;;;;;;;;;;-1:-1:-1;;;;;1035:48:18;;;1388:58;;;;;;;;;;;;12856:981;;;;;;;;;;;;-1:-1:-1;;;;;12856:981:18;;;;;782:67;;;;;;;;;;;;7993:717;;;;;;;;;;;;-1:-1:-1;;;;;7993:717:18;;;;;1240:84;;;;;;;;;;-1:-1:-1;;;;;1240:84:18;;;;;;;;;;9252:294;;;;;;;;;;;;;-1:-1:-1;;;;;9252:294:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9252:294:18;;-1:-1:-1;;;9252:294:18;;-1:-1:-1;;;;;9252:294:18;;-1:-1:-1;9252:294:18;;-1:-1:-1;;9252:294:18;5637:235;;;;;;;;;;;;-1:-1:-1;;;;;5637:235:18;;;528:63;;;;;;;;;;;;8713:536;;;;;;;;;;;;-1:-1:-1;;;;;8713:536: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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4759:102;;;;;;;;;;;;;;1499:45;;;;;;;;;;;;6984:150;;;;;;;;;;;;-1:-1:-1;;;;;6984:150:18;;;;;434:53;;;;;;;;;;;;5033:86;;;;;;;;;;;;885:67;;;;;;;;;;;;9549:886;;;;;;;;;;-1:-1:-1;;;;;9549:886:18;;;;;;;;;;;;;;;238:22:14;;;;;;;;;;;;632:64:18;;;;;;;;;;;;5399:235;;;;;;;;;;;;4863:168;;;;;;;;;;;;-1:-1:-1;;;;;4863:168:18;;;3822:855;;;;;;;;;;;;;;;;;;;;;;1328:57;;;;;;;;;;;;818:176:14;;;;;;;;;;;;-1:-1:-1;;;;;818:176:14;;;6264:567:18;;;;;;;;;;;;-1:-1:-1;;;;;6264:567:18;;;13840:825;;;;;;;;;;;;-1:-1:-1;;;;;13840:825:18;;;10438:1292;-1:-1:-1;;;;;10636:18:18;;10565:19;10636:18;;;:11;:18;;;;;10673:25;;;;10565:19;;10666:3;:32;;10658:41;;;;;;10742:35;-1:-1:-1;;;;;10711:25:18;;;:27;;-1:-1:-1;;;10711:27:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;;;;;;;;;10703:75;;;;;;-1:-1:-1;;;;;;10883:22:18;;;;;;;:15;:22;;;;;;;;10906:10;10883:34;;;;;;;;;10957:18;;;10949:27;;;;;;10988:18;;;10980:27;;;;;;11015:29;;;;-1:-1:-1;;;;;11015:29:18;:43;11011:197;;11108:94;11164:11;11177;11118:71;;;;;;;;;;;;;;;;;;;;;;;;;11191:2;11195;11199;11108:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11075:29;;;;-1:-1:-1;;;;;11075:127:18;;;:29;;:127;11067:136;;;;;;11243:42;11220:19;;;;:65;;;;;;;;;11212:74;;;;;;11290:69;;-1:-1:-1;;11290:69:18;11316:43;11290:69;;;;;-1:-1:-1;11363:23:18;;:37;;;11404:23;;;:37;;;11471:17;-1:-1:-1;;;;;11471:17:18;:32;11504:10;11471:44;;;;;-1:-1:-1;;;11471:44:18;;;-1:-1:-1;;;;;11471:44:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11445:18;;;:70;-1:-1:-1;11519:22:18;;;:39;;;;;;:22;:39;;:::i;:::-;-1:-1:-1;11519:39:18;;;;;;;;;;;-1:-1:-1;;;;;;11519:39:18;-1:-1:-1;;;;;11547:10:18;11519:39;;;;;;;;;;-1:-1:-1;11571:17:18;-1:-1:-1;11620:21:18;;;11571:17;;;:29;;11601:5;;11571:71;;;;;-1:-1:-1;;;11571:71:18;;;-1:-1:-1;;;;;11571:71:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11563:80;;;;;;;;-1:-1:-1;;;;;11670:10:18;11652:42;;;;;;11682:11;11652:42;;;;;;;;;;;;;;-1:-1:-1;11705:21:18;;;;10438:1292;-1:-1:-1;;;;;;;10438:1292:18:o;14770:690::-;14895:4;472:7:14;;14895:4:18;;458:10:14;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;;14945:18:18;;;;;;:11;:18;;;;;14982:25;;;;14975:3;:32;;14967:41;;;;;;15045:3;15021:9;:20;;;:27;;:58;;;;;15078:1;15052:9;:23;;;:27;15021:58;15020:114;;;;15112:9;:21;;;15085:9;:23;;;:48;15020:114;15012:123;;;;;;;;15276:35;15294:5;15301:9;15276:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15276:35:18;;;-1:-1:-1;15276:35:18;;;;;;;;;;;;-1:-1:-1;;;15276:35:18;;;-1:-1:-1;;15276:35:18;;;;;;-1:-1:-1;;;;;15276:35:18;;;;;;:17;:35::i;:::-;15268:44;;;;;;;;15325:17;;-1:-1:-1;;;;;15325:17:18;:35;15361:5;15368:7;15377;15386:4;15325:66;;-1:-1:-1;;;15325:66:18;;;;;;-1:-1:-1;;;;;15325: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;15325: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;15325: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;15325:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15317:75;;;;;;;;-1:-1:-1;;;;;15401:40:18;;;15420:7;15428;15436:4;15401: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;15401: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;15401: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;15401:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15452:4:18;;14770:690;-1:-1:-1;;;;;14770:690:18:o;5122:274::-;5209:17;;5165:4;;;;-1:-1:-1;;;;;5209:17:18;:32;5242:10;5209:44;;;;;-1:-1:-1;;;5209:44:18;;;-1:-1:-1;;;;;5209:44:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5201:53;;;;;;;;5271:9;:26;;;;;;:9;:26;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;;5271:26:18;-1:-1:-1;;;;;5286:10:18;5271:26;;;;;-1:-1:-1;5329:12:18;5271:26;-1:-1:-1;5329:9:18;:12::i;:::-;5315:10;-1:-1:-1;;;;;5301:25:18;;;;;:13;:25;;;;;;;:40;;;;:25;5350:27;;;;;;;;;;5388:4;5381:11;;5122:274;;;:::o;7343:567::-;7425:38;7467:18;7489;7511:24;7539:13;7556:14;7654:42;7585:36;7606:5;7613:7;7585:20;:36::i;:::-;7577:45;;;;;;;;-1:-1:-1;;;;;;;;;7699:22:18;;;;;;;:15;:22;;;;;;;;:31;;;;;;;;;;;;7746:19;;-1:-1:-1;7770:23:18;;;-1:-1:-1;7798:23:18;;;7826:29;;;;7860:18;;;;7883:19;;;;;7746;;;;;7770:23;;7798;;-1:-1:-1;7826:29:18;;-1:-1:-1;7860:18:18;;-1:-1:-1;7883:19:18;7343:567::o;11733:1120::-;11836:4;472:7:14;;11836:4:18;;;;;;458:10:14;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;11886:18:18;;;;;;:11;:18;;;;;11923:25;;;;11886:18;;-1:-1:-1;11916:3:18;:32;;11908:41;;;;;;-1:-1:-1;;;;;11961:36:18;;;:38;;-1:-1:-1;;;11961:38:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11953:47;;;;;;;;12029:1;12005:21;;;:25;;;12029:1;-1:-1:-1;12034:377:18;12056:22;;;:29;12054:31;;12034:377;;;12111:22;;;:25;;12134:1;;12111:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12150:22:18;;;;;:15;:22;;;;;;12111:25;;;;12150;;;;;;;;-1:-1:-1;12150:36:18;;12111:25;;-1:-1:-1;12150:50:18;;:141;;;;-1:-1:-1;;;;;;12212:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;:32;12248:43;;12212:32;;:79;;;;;;;;;12150:141;12141:266;;;12373:21;;;;:28;;12399:1;12373:28;:25;:28;:::i;:::-;12349:21;;;:52;12141:266;12087:3;;;;;12034:377;;;12422:21;;;;12446:1;12422:25;;12414:34;;;;;;12525:19;;;;:33;;;12585:17;;12631:20;;12585:170;;12751:3;;12585:161;;-1:-1:-1;;;;;12585:17:18;;;;:45;;12631:20;;;:43;;12675:33;;;:35;;-1:-1:-1;;;12675:35:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12631:80;;;;;-1:-1:-1;;;12631:80:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12585:127;;;;;-1:-1:-1;;;12585:127:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:161;-1:-1:-1;12585:161:18;:131;:161;:::i;:::-;:165;:170;:165;:170;:::i;:::-;12562:20;;;:193;-1:-1:-1;;;;;12800:34:18;;;12823:10;12800:34;;;;;;;;;;;;;;-1:-1:-1;12845:4:18;;11733:1120;-1:-1:-1;;;;;11733:1120: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;6834:147::-;-1:-1:-1;;;;;6939:18:18;6900:25;6939:18;;;:11;:18;;;;;:31;;:38;;6834:147::o;7137:203::-;-1:-1:-1;;;;;7257:22:18;;;7221;7257;;;:15;:22;;;;;;;;:31;;;;;;;;;;;:38;7221:22;;7257:38;;:79;;;;;;;;;;;7137:203;-1:-1:-1;;;7137:203:18:o;1035:48::-;;;;;;;;;;;;;:::o;1388:58::-;1444:2;1388:58;:::o;12856:981::-;-1:-1:-1;;;;;12976:18:18;;12920:4;12976:18;;;:11;:18;;;;;13013:25;;;;12920:4;;13006:3;:32;;12998:41;;;;;;-1:-1:-1;;;;;;13088:22:18;;;;;;;:15;:22;;;;;;;;13111:10;13088:34;;;;;;;;;;;;-1:-1:-1;;13088:22:18;13135:25;;:27;-1:-1:-1;;;13135:27:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:69;;;;;;;;;13127:83;;;;;;13222:20;;;;13253:3;13222:34;;13214:83;;;;;;13340:43;13309:19;;;;:74;;;;;;;;;13301:83;;;;;;13427:19;;;;13396:23;;;;:50;13388:83;;;;;;13524:7;13514:42;;;;;;;;;;;;;;;13483:23;;;;:73;13475:83;;;;;;13631:10;13621:21;;-1:-1:-1;;;;;13621:21:18;;;;;;;;;;;;;;;;;13611:7;:31;13601:42;;;;;;;;;;;;;;;13570:23;;;;:73;13562:83;;;;;;13650:64;;-1:-1:-1;;13650:64:18;13676:38;13650:64;;;13744:23;;;;:30;;13650:64;13744:27;:30::i;:::-;13718:23;;;:56;-1:-1:-1;;;;;13798:10:18;13784:34;;;;;;13810:7;13784:34;;;;;;;;;;;;;;-1:-1:-1;13829:4:18;;12856:981;-1:-1:-1;;;;12856:981:18:o;782:67::-;;;;:::o;7993:717::-;234:15:7;;8085:4:18;;;;;;;;220:10:7;-1:-1:-1;;;;;220:29:7;;;234:15;;220:29;212:38;;;;;;8114:20:18;;-1:-1:-1;;;;;8114:20:18;:43;8158:15;8114:60;;;;;-1:-1:-1;;;8114:60:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8196:17;;8114:60;;-1:-1:-1;8196:91:18;;-1:-1:-1;8283:3:18;;8196:82;;1444:2;;-1:-1:-1;;;;;8196:17:18;:45;8114:60;8196:52;;;;;-1:-1:-1;;;8196:52:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:91;-1:-1:-1;;;;;8331:18:18;;;;;;;:11;:18;;;;;;;8381:20;;8178:109;;-1:-1:-1;8331:18:18;-1:-1:-1;8381:20:18;;;:40;;8422:15;;8381:57;;;;-1:-1:-1;;;8381:57:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8353:85;;-1:-1:-1;8470:20:18;;-1:-1:-1;;;;;8470:20:18;:50;8521:15;8470:67;;;;;-1:-1:-1;;;8470:67:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8442:25;;;:95;;-1:-1:-1;;;;;;8442:95:18;-1:-1:-1;;;;;8442:95:18;;;;;;;;;;-1:-1:-1;8601:18:18;;8569:20;;:51;;:31;:51::i;:::-;8541:21;;;:79;8624:25;;;:35;;;-1:-1:-1;;;;;8669:22:18;;;;;;;;;;;;-1:-1:-1;8702:4:18;;7993:717;-1:-1:-1;;;;;7993:717:18:o;1240:84::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1240:84:18;;;;;:::o;9252:294::-;9391:4;472:7:14;;9391:4:18;;458:10:14;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;9416:1:18;9402:126;9423:8;:15;9419:1;:19;9402:126;;;9460:62;9484:5;9491:8;9500:1;9491:11;;;;;;;;;;;;;;;;9504:17;9460:23;:62::i;:::-;9452:71;;;;;;;;9440:3;;9402:126;;;-1:-1:-1;9538:4:18;;9252:294;-1:-1:-1;;;;9252:294:18:o;5637:235::-;5701:4;472:7:14;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;5748:17:18;;-1:-1:-1;;;;;5748:17:18;:29;5778:7;5748:38;;;;;-1:-1:-1;;;5748:38:18;;;-1:-1:-1;;;;;5748:38:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5740:47;;;;;;;;5799:21;5812:7;5799:12;:21::i;:::-;5791:30;;;;;;;;-1:-1:-1;;;;;5830:23:18;;;;;;;;;;;;-1:-1:-1;5864:4:18;5637:235;;;:::o;528:63::-;;;;:::o;8713:536::-;234:15:7;;8787:4:18;;;;;;;;220:10:7;-1:-1:-1;;;;;220:29:7;;;234:15;;220:29;212:38;;;;;;-1:-1:-1;;;;;8838:18:18;;;;;;:11;:18;;;;;8874:25;;;;8838:18;;-1:-1:-1;8868:3:18;:31;8860:40;;;;;;8939:1;8935:5;;8930:269;8946:22;;;:29;8942:33;;8930:269;;;8993:22;;;:25;;9016:1;;8993:25;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9027:22:18;;;;;:15;:22;;;;;;8993:25;;;;9027;;;;;;;;:32;8993:25;;-1:-1:-1;;;9027:32:18;;:78;;;;;;;;;9023:172;;9124:17;;;9166:21;;;-1:-1:-1;;;;;9124:17:18;;;;:31;;9156:5;;9163:1;;9124:64;;;;;-1:-1:-1;;;9124:64:18;;;-1:-1:-1;;;;;9124:64:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9116:73;;;;;;;;8977:3;;;;;8930:269;;;-1:-1:-1;;;;;9207:23:18;;;;;;;;;;;;-1:-1:-1;9241:4:18;;8713:536;-1:-1:-1;;;;8713:536:18:o;383:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4759:102::-;4819:7;4840:9;4850:6;4840:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4840:17:18;;;-1:-1:-1;;4759:102:18:o;1499:45::-;;;-1:-1:-1;;;;;1499:45:18;;:::o;6984:150::-;-1:-1:-1;;;;;7092:18:18;;7059:19;7092:18;;;:11;:18;;;;;:31;;:38;;7124:5;;7092:38;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7092:38:18;;;-1:-1:-1;;;6984:150:18:o;434:53::-;;;;:::o;5033:86::-;5099:9;:16;5033:86;;:::o;885:67::-;;;;:::o;9549:886::-;9684:4;472:7:14;;9684:4:18;;;;;;;;458:10:14;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;9734:35:18;-1:-1:-1;;;;;9703:25:18;;;:27;;-1:-1:-1;;;9703:27:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;;;;;;;;;9695:75;;;;;;-1:-1:-1;;;;;9819:22:18;;;;;;;:15;:22;;;;;;;;:31;;;;;;;;;;;9899:18;;;:11;:18;;;;;;9936:25;;;;9819:31;;-1:-1:-1;9899:18:18;-1:-1:-1;9929:3:18;:32;;9921:41;;;;;;10040:17;;-1:-1:-1;;;;;10040:17:18;:33;10074:7;10040:42;;;;;-1:-1:-1;;;10040:42:18;;;-1:-1:-1;;;;;10040:42:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10012:70;;-1:-1:-1;10012:70:18;;-1:-1:-1;;10143:4:18;-1:-1:-1;;;;;10121:27:18;;;;;;;10113:36;;;;;;10185:37;10162:19;;;;:60;;;;;;;;;10154:69;;;;;;10227:74;;10259:42;-1:-1:-1;;10227:74:18;;;;;;10305:29;;;:49;;-1:-1:-1;;;;;;10305:49:18;-1:-1:-1;;;;;10305:49:18;;;;;;;;;;10364:52;;;;;;;10404:11;10364:52;;;;;;;;;;;;;;-1:-1:-1;10427:4:18;;9549:886;-1:-1:-1;;;;;;;9549:886:18:o;238:22:14:-;;;-1:-1:-1;;;;;238:22:14;;:::o;632:64:18:-;;;;:::o;5399:235::-;5491:17;;5447:4;;-1:-1:-1;;;;;5491:17:18;:36;5528:10;5491:48;;;;;-1:-1:-1;;;5491:48:18;;;-1:-1:-1;;;;;5491:48:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5483:57;;;;;;;;5552:24;5565:10;5552:12;:24::i;:::-;5544:33;;;;;;;;-1:-1:-1;;;;;5604:10:18;5586:29;;;;;;;;;;;-1:-1:-1;5626:4:18;5399:235;:::o;4863:168::-;-1:-1:-1;;;;;4949:22:18;;4925:4;4949:22;;;:13;:22;;;;;;4983:9;:16;;4925:4;;4949:22;;;;4983:16;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4983:16:18;:27;4975:36;;;;;;5022:5;4863:168;-1:-1:-1;;4863:168:18:o;3822:855::-;472:7:14;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;4049:300:18;4076:18;;4110:20;4135:28;;4169:30;4204:32;;4238:34;4277:32;;4311:34;4049:300;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4395:3;4361:37;;;4353:46;;;;;;4403:18;:55;;;;4462:28;:65;;;;4531:32;:69;4604:32;:69;3822:855::o;1328:57::-;1384:1;1328:57;:::o;818:176:14:-;472:7;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;894:23:14;;;;886:32;;;;;;948:7;;-1:-1:-1;;;;;927:40:14;;;;948:7;927:40;;;;;;;;;;971:7;:19;;-1:-1:-1;;;;;;971:19:14;-1:-1:-1;;;;;971:19:14;;;;;;;;;;818:176::o;6264:567:18:-;-1:-1:-1;;;;;6580:18:18;;;6332:20;6580:18;;;:11;:18;;;;;6614:20;;-1:-1:-1;6639:21:18;;;-1:-1:-1;6665:19:18;;;6689:20;;;;6714:23;;;;6742:25;;;;6772:21;;;;6798:25;;;;;6614:20;;6639:21;;6665:19;;6689:20;;6714:23;;6742:25;;6798;;;;;6264:567::o;13840:825::-;13914:4;472:7:14;;13914:4:18;;;;;;458:10:14;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;13964:18:18;;;;;;:11;:18;;;;;14001:25;;;;13964:18;;-1:-1:-1;13994:3:18;:32;;13986:41;;;;;;14063:3;14039:9;:20;;;:27;;:59;;;;-1:-1:-1;14070:23:18;;;;:28;14039:59;14031:68;;;;;;;;-1:-1:-1;;;;;14111:27:18;;;:29;;-1:-1:-1;;;14111:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14103:38;;;;;;;;14163:1;14151:13;;14146:268;14170:22;;;:29;14166:33;;14146:268;;;14225:22;;;:25;;14248:1;;14225:25;;;;;;;;;;;;;;;;;;;14299:19;;;;-1:-1:-1;;;;;14259:22:18;;;;;:15;:22;;;;;;14225:25;;;;14259;;;;;;;-1:-1:-1;14259:36:18;;14225:25;;-1:-1:-1;14259:59:18;14255:155;;;-1:-1:-1;;;;;14329:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;:75;;-1:-1:-1;;14329:75:18;14364:40;14329:75;;;14255:155;14201:3;;;;;14146:268;;;14563:1;14539:21;;;:25;;;14568:19;;;:27;;;14599:20;;;:25;-1:-1:-1;;;;;14633:13:18;;;;;;;;;;;;-1:-1:-1;14657:4:18;;13840:825;-1:-1:-1;;;;13840:825:18:o;15463:1973::-;15554:4;15565:9;15578;15591:19;15614:20;15638:19;15661:20;15685:19;15732:29;;:::i;:::-;15862:31;;15707:10;:21;15685:43;;15764:10;:23;;;15732:55;;15800:1;15796:5;;15791:632;15805:12;:19;15803:1;:21;15791:632;;;15842:12;15855:1;15842:15;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15896:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;15930:8;;15896:25;;-1:-1:-1;15896:25:18;-1:-1:-1;15942:38:18;;15930:8;;:50;;;;;;;;;15926:493;;;16007:18;;;;-1:-1:-1;;;;;16007:18:18;:32;;16006:42;;16047:1;16006:42;;;16043:1;16006:42;15991:57;;;;16098:30;:24;16110:11;16098:1;:7;;;:11;;:24;;;;:::i;:::-;:28;:30::i;:::-;16094:1;:34;;-1:-1:-1;16149:29:18;:11;16094:34;16149:29;:15;:29;:::i;:::-;16184:8;;;:27;;;16134:44;-1:-1:-1;15926:493:18;;;16374:39;16390:10;:22;;;16374:11;;:39;:15;:39;:::i;:::-;16360:53;;15926:493;15826:3;;;;;15791:632;;;16448:1;16434:15;;16426:24;;;;;;16525:70;16548:46;16565:28;;16556:3;16548:16;;:46;;;;:::i;:::-;16525:11;;:70;:22;:70;:::i;:::-;16501:94;;16609:1;16605:5;;16600:668;16614:12;:19;16612:1;:21;16600:668;;;16651:12;16664:1;16651:15;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16675:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;:32;16647:19;;-1:-1:-1;16711:38:18;;16675:32;;:74;;;;;;;;;16671:593;;;-1:-1:-1;;;;;16803:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;:32;;;16775:74;;:13;;16837:11;16775:27;:74::i;:::-;16760:89;-1:-1:-1;16870:29:18;:11;16760:89;16870:29;:15;:29;:::i;:::-;16855:44;;16913:17;;;;;;;;;-1:-1:-1;;;;;16913:17:18;-1:-1:-1;;;;;16913:31:18;;16945:5;16952:1;16955:10;:22;;;16913:65;;;;;-1:-1:-1;;;16913:65:18;;;-1:-1:-1;;;;;16913:65:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16905:74;;;;;;;;16993:17;;-1:-1:-1;;;;;16993:17:18;:31;17025:5;17032:1;17035:12;-1:-1:-1;16993:61:18;;;;;-1:-1:-1;;;16993:61:18;;;-1:-1:-1;;;;;16993:61:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16985:70;;;;;;;;16671:593;;;17170:17;;;;;;;;;-1:-1:-1;;;;;17170:17:18;-1:-1:-1;;;;;17170:30:18;;17201:5;17208:1;17211:10;:22;;;17235:4;17170:70;;;;;-1:-1:-1;;;17170:70:18;;;-1:-1:-1;;;;;17170:70:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17162:79;;;;;;;;16635:3;;;;;16600:668;;;17329:17;;-1:-1:-1;;;;;17329:17:18;:31;17361:5;17329:17;17368:26;;;17396:11;17409:5;17329:86;;;;;-1:-1:-1;;;17329:86:18;;;-1:-1:-1;;;;;17329:86:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17321:95;;;;;;;;-1:-1:-1;17428:4:18;;15463:1973;-1:-1:-1;;;;;;;;;;;;15463:1973: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;5875:386:18:-;5932:4;5943:10;6017:18;5956:23;5971:7;5956:14;:23::i;:::-;6038:9;6048:16;;5943:36;;-1:-1:-1;6038:9:18;6048:23;;6069:1;6048:23;:20;:23;:::i;:::-;6038:34;;;;;;;;;;;;;;;;;;6076:9;:25;;-1:-1:-1;;;;;6038:34:18;;;;-1:-1:-1;6038:34:18;;6090:5;;6076:25;;;;;;;;;;;;;;;;;;:38;;-1:-1:-1;;;;;;6076:38:18;-1:-1:-1;;;;;6076:38:18;;;;;;6118:25;;;;;:13;:25;;;;;;:33;;;6162:9;6172:16;;:23;;-1:-1:-1;6172:20:18;:23::i;:::-;6162:34;;;;;;;;;;;;;;;;;6155:41;;-1:-1:-1;;;;;;6155:41:18;;;6219:9;:16;:23;;-1:-1:-1;6219:20:18;:23::i;:::-;6200: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:17186: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\ttransferOwnership(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_consensusTimout,\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.consensusTimout,\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.consensusTimout = timeout;\n\n\t\temit WorkOrderActive(_woid);\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.consensusTimout);\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(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.consensusTimout);\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\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimout);\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\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimout);\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\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimout);\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\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimout);\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\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimout);\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 workerReward;\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 workersReward = totalReward.percentage(uint256(100).sub(m_schedulerRewardRatioPolicy));\n\n\t\tfor (i = 0; i uint256)" + }, + "typeName": { + "id": 4107, + "keyType": { + "id": 4105, + "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": 4106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4112, + "name": "m_consensus", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "1127:57:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + }, + "typeName": { + "id": 4111, + "keyType": { + "id": 4109, + "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_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 4110, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "1146:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4118, + "name": "m_contributions", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "1240:84:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + }, + "typeName": { + "id": 4117, + "keyType": { + "id": 4113, + "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_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + }, + "valueType": { + "id": 4116, + "keyType": { + "id": 4114, + "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_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 4115, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2789, + "src": "1278:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 4121, + "name": "REVEAL_PERIOD_DURATION_RATIO", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "1328:57:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4119, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1328:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 4120, + "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": 4124, + "name": "CONSENSUS_DURATION_RATIO", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "1388:58:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4122, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1388:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 4123, + "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": 4126, + "name": "m_workerPoolHubAddress", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "1499:45:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1499:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": "Events", + "id": 4144, + "name": "WorkerPoolPolicyUpdate", + "nodeType": "EventDefinition", + "parameters": { + "id": 4143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4128, + "indexed": false, + "name": "oldStakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1602:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1602:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4130, + "indexed": false, + "name": "newStakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1645:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1645:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4132, + "indexed": false, + "name": "oldSchedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1676:37:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4131, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1676:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4134, + "indexed": false, + "name": "newSchedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1719:37:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4133, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1719:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4136, + "indexed": false, + "name": "oldSubscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1760:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1760:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4138, + "indexed": false, + "name": "newSubscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1803:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4137, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1803:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4140, + "indexed": false, + "name": "oldSubscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1848:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1848:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4142, + "indexed": false, + "name": "newSubscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1891:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4141, + "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": 4148, + "name": "WorkOrderActive", + "nodeType": "EventDefinition", + "parameters": { + "id": 4147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4146, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4148, + "src": "1968:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4145, + "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": 4152, + "name": "WorkOrderClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 4151, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4150, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4152, + "src": "2023:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4149, + "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": 4160, + "name": "AllowWorkerToContribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 4159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4154, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4160, + "src": "2079:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4153, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2079:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4156, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4160, + "src": "2101:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4155, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2101:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4158, + "indexed": false, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 4160, + "src": "2125:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4157, + "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": 4168, + "name": "Contribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 4167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4162, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4168, + "src": "2179:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4161, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2179:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4164, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4168, + "src": "2201:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2201:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4166, + "indexed": false, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 4168, + "src": "2225:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4165, + "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": 4174, + "name": "RevealConsensus", + "nodeType": "EventDefinition", + "parameters": { + "id": 4173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4170, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4174, + "src": "2278:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4169, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2278:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4172, + "indexed": false, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4174, + "src": "2300:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4171, + "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": 4182, + "name": "Reveal", + "nodeType": "EventDefinition", + "parameters": { + "id": 4181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4176, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4182, + "src": "2352:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4175, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2352:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4178, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4182, + "src": "2374:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4177, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2374:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4180, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 4182, + "src": "2398:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4179, + "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": 4186, + "name": "Reopen", + "nodeType": "EventDefinition", + "parameters": { + "id": 4185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4184, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4186, + "src": "2447:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4183, + "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": 4196, + "name": "FinalizeWork", + "nodeType": "EventDefinition", + "parameters": { + "id": 4195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4188, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4196, + "src": "2503:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4187, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2503:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4190, + "indexed": false, + "name": "stdout", + "nodeType": "VariableDeclaration", + "scope": 4196, + "src": "2525:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4189, + "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": 4192, + "indexed": false, + "name": "stderr", + "nodeType": "VariableDeclaration", + "scope": 4196, + "src": "2540:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4191, + "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": 4194, + "indexed": false, + "name": "uri", + "nodeType": "VariableDeclaration", + "scope": 4196, + "src": "2555:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4193, + "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": 4200, + "name": "WorkerSubscribe", + "nodeType": "EventDefinition", + "parameters": { + "id": 4199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4198, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4200, + "src": "2603:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4197, + "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": 4204, + "name": "WorkerUnsubscribe", + "nodeType": "EventDefinition", + "parameters": { + "id": 4203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4202, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4204, + "src": "2660:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4201, + "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": 4208, + "name": "WorkerEviction", + "nodeType": "EventDefinition", + "parameters": { + "id": 4207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4206, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4208, + "src": "2717:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4205, + "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": 4271, + "nodeType": "Block", + "src": "3099:720:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4230, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "3169:2:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 4231, + "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": 4232, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "3182:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4233, + "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": 4229, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "3161:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3161:32:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4236, + "nodeType": "ExpressionStatement", + "src": "3161:32:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4238, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "3215:2:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 4239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3215:9:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4237, + "name": "transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3507, + "src": "3197:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3197:28:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4241, + "nodeType": "ExpressionStatement", + "src": "3197:28:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4242, + "name": "m_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4091, + "src": "3253:13:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4243, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4212, + "src": "3288:12:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3253:47:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4245, + "nodeType": "ExpressionStatement", + "src": "3253:47:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4246, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4093, + "src": "3304:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3330", + "id": 4247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3339:2:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "src": "3304:37:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4249, + "nodeType": "ExpressionStatement", + "src": "3304:37:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4250, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4095, + "src": "3383:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 4251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3418:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3383:36:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4253, + "nodeType": "ExpressionStatement", + "src": "3383:36:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4254, + "name": "m_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4097, + "src": "3485:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4255, + "name": "_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4214, + "src": "3520:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3485:63:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4257, + "nodeType": "ExpressionStatement", + "src": "3485:63:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4258, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4099, + "src": "3629:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4259, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4216, + "src": "3664:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3629:66:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4261, + "nodeType": "ExpressionStatement", + "src": "3629:66:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4262, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4101, + "src": "3699:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4263, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4218, + "src": "3734:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3699:66:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4265, + "nodeType": "ExpressionStatement", + "src": "3699:66:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4266, + "name": "m_workerPoolHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4126, + "src": "3769:22:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4267, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "3804:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3804:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3769:45:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4270, + "nodeType": "ExpressionStatement", + "src": "3769:45:18" + } + ] + }, + "documentation": "Methods", + "id": 4272, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 4223, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4210, + "src": "3030:16:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4224, + "modifierName": { + "argumentTypes": null, + "id": 4222, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "3013:16:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2361_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3013:34:18" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 4226, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4220, + "src": "3069:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4227, + "modifierName": { + "argumentTypes": null, + "id": 4225, + "name": "MarketplaceAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3320, + "src": "3049:19:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MarketplaceAccessor_$3320_$", + "typeString": "type(contract MarketplaceAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3049:40:18" + } + ], + "name": "WorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4221, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4210, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 4272, + "src": "2805:24:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4209, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2805:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4212, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 4272, + "src": "2833:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4211, + "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": 4214, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4272, + "src": "2857:36:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4213, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2857:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4216, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4272, + "src": "2897:39:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4215, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2897:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4218, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4272, + "src": "2940:39:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4217, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2940:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4220, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 4272, + "src": "2983:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4219, + "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": 4228, + "nodeType": "ParameterList", + "parameters": [], + "src": "3099:0:18" + }, + "scope": 5819, + "src": "2782:1037:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4318, + "nodeType": "Block", + "src": "4040:637:18", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4286, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4093, + "src": "4076:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4287, + "name": "_newStakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4274, + "src": "4110:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4288, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4095, + "src": "4135:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4289, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4276, + "src": "4169:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4290, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4099, + "src": "4204:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4291, + "name": "_newSubscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4278, + "src": "4238:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4292, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4101, + "src": "4277:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4293, + "name": "_newSubscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4280, + "src": "4311: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": 4285, + "name": "WorkerPoolPolicyUpdate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4144, + "src": "4049: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": 4294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4049:300:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4295, + "nodeType": "EmitStatement", + "src": "4044:305:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4297, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4276, + "src": "4361:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 4298, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4395:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "4361:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4296, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "4353:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4353:46:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4301, + "nodeType": "ExpressionStatement", + "src": "4353:46:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4302, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4093, + "src": "4403:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4303, + "name": "_newStakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4274, + "src": "4438:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4403:55:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4305, + "nodeType": "ExpressionStatement", + "src": "4403:55:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4306, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4095, + "src": "4462:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4307, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4276, + "src": "4497:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4462:65:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4309, + "nodeType": "ExpressionStatement", + "src": "4462:65:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4310, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4099, + "src": "4531:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4311, + "name": "_newSubscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4278, + "src": "4566:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4531:69:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4313, + "nodeType": "ExpressionStatement", + "src": "4531:69:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4314, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4101, + "src": "4604:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4315, + "name": "_newSubscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4280, + "src": "4639:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4604:69:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4317, + "nodeType": "ExpressionStatement", + "src": "4604:69:18" + } + ] + }, + "documentation": null, + "id": 4319, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4283, + "modifierName": { + "argumentTypes": null, + "id": 4282, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "4029:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4029:9:18" + } + ], + "name": "changeWorkerPoolPolicy", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4281, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4274, + "name": "_newStakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4319, + "src": "3857:28:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4273, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3857:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4276, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4319, + "src": "3889:38:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4275, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3889:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4278, + "name": "_newSubscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4319, + "src": "3931:42:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4277, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3931:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4280, + "name": "_newSubscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4319, + "src": "3977:42:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3977:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3853:167:18" + }, + "payable": false, + "returnParameters": { + "id": 4284, + "nodeType": "ParameterList", + "parameters": [], + "src": "4040:0:18" + }, + "scope": 5819, + "src": "3822:855:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4330, + "nodeType": "Block", + "src": "4829:32:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4326, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "4840:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4328, + "indexExpression": { + "argumentTypes": null, + "id": 4327, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4321, + "src": "4850:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4840:17:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4325, + "id": 4329, + "nodeType": "Return", + "src": "4833:24:18" + } + ] + }, + "documentation": "*********************** worker list management *************************", + "id": 4331, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4321, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 4331, + "src": "4785:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4320, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4785:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4784:13:18" + }, + "payable": false, + "returnParameters": { + "id": 4325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4324, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4331, + "src": "4819:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4323, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4819:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4818:9:18" + }, + "scope": 5819, + "src": "4759:102:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4354, + "nodeType": "Block", + "src": "4932:99:18", + "statements": [ + { + "assignments": [ + 4339 + ], + "declarations": [ + { + "constant": false, + "id": 4339, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4355, + "src": "4936:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4338, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4936:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4343, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4340, + "name": "m_workerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4108, + "src": "4949:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4342, + "indexExpression": { + "argumentTypes": null, + "id": 4341, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "4963:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4949:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4936:35:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4345, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "4983:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4347, + "indexExpression": { + "argumentTypes": null, + "id": 4346, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4339, + "src": "4993:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4983:16:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4348, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "5003:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4983:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4344, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "4975:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4975:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4351, + "nodeType": "ExpressionStatement", + "src": "4975:36:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4352, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4339, + "src": "5022:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4337, + "id": 4353, + "nodeType": "Return", + "src": "5015:12:18" + } + ] + }, + "documentation": null, + "id": 4355, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerIndex", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4334, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4333, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4355, + "src": "4887:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4332, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4887:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4886:17:18" + }, + "payable": false, + "returnParameters": { + "id": 4337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4336, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4355, + "src": "4925:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4335, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4925:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4924:6:18" + }, + "scope": 5819, + "src": "4863:168:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4363, + "nodeType": "Block", + "src": "5088:31:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4360, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "5099:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4361, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5099:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4359, + "id": 4362, + "nodeType": "Return", + "src": "5092:23:18" + } + ] + }, + "documentation": null, + "id": 4364, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkersCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4356, + "nodeType": "ParameterList", + "parameters": [], + "src": "5057:2:18" + }, + "payable": false, + "returnParameters": { + "id": 4359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4358, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4364, + "src": "5081:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4357, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5081:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5080:6:18" + }, + "scope": 5819, + "src": "5033:86:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4402, + "nodeType": "Block", + "src": "5172:224:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4372, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5242:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5242:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4370, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "5209:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "registerToPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2562, + "src": "5209:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 4374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5209:44:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4369, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "5201:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5201:53:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4376, + "nodeType": "ExpressionStatement", + "src": "5201:53:18" + }, + { + "assignments": [ + 4378 + ], + "declarations": [ + { + "constant": false, + "id": 4378, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4403, + "src": "5258:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4377, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5258:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4384, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4381, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5286:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5286:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4379, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "5271:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5271:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 4383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5271:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5258:39:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4385, + "name": "m_workerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4108, + "src": "5301:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4388, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4386, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5315:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5315:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5301:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4391, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5339: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": 4389, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4378, + "src": "5329:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "5329: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": 4392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5329:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5301:40:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4394, + "nodeType": "ExpressionStatement", + "src": "5301:40:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4396, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5366:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5366:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4395, + "name": "WorkerSubscribe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4200, + "src": "5350:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5350:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4399, + "nodeType": "EmitStatement", + "src": "5345:32:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5388:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4368, + "id": 4401, + "nodeType": "Return", + "src": "5381:11:18" + } + ] + }, + "documentation": null, + "id": 4403, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "subscribeToPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4365, + "nodeType": "ParameterList", + "parameters": [], + "src": "5146:2:18" + }, + "payable": false, + "returnParameters": { + "id": 4368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4367, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4403, + "src": "5165:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4366, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5165:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5164:6:18" + }, + "scope": 5819, + "src": "5122:274:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4430, + "nodeType": "Block", + "src": "5454:180:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4411, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5528:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5528:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4409, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "5491:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unregisterFromPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2569, + "src": "5491:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 4413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5491:48:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4408, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "5483:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5483:57:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4415, + "nodeType": "ExpressionStatement", + "src": "5483:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4418, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5565:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5565:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4417, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4517, + "src": "5552:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 4420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5552:24:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4416, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "5544:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5544:33:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4422, + "nodeType": "ExpressionStatement", + "src": "5544:33:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4424, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5604:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5604:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4423, + "name": "WorkerUnsubscribe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4204, + "src": "5586:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5586:29:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4427, + "nodeType": "EmitStatement", + "src": "5581:34:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5626:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4407, + "id": 4429, + "nodeType": "Return", + "src": "5619:11:18" + } + ] + }, + "documentation": null, + "id": 4431, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unsubscribeFromPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4404, + "nodeType": "ParameterList", + "parameters": [], + "src": "5427:2:18" + }, + "payable": false, + "returnParameters": { + "id": 4407, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4406, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4431, + "src": "5447:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4405, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5447:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5446:6:18" + }, + "scope": 5819, + "src": "5399:235:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4459, + "nodeType": "Block", + "src": "5708:164:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4443, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4433, + "src": "5778:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4441, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "5748:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "evictWorker", + "nodeType": "MemberAccess", + "referencedDeclaration": 2576, + "src": "5748:29:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 4444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5748:38:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4440, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "5740:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5740:47:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4446, + "nodeType": "ExpressionStatement", + "src": "5740:47:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4449, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4433, + "src": "5812:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4448, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4517, + "src": "5799:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 4450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5799:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4447, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "5791:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5791:30:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4452, + "nodeType": "ExpressionStatement", + "src": "5791:30:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4454, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4433, + "src": "5845:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4453, + "name": "WorkerEviction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4208, + "src": "5830:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5830:23:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4456, + "nodeType": "EmitStatement", + "src": "5825:28:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5864:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4439, + "id": 4458, + "nodeType": "Return", + "src": "5857:11:18" + } + ] + }, + "documentation": null, + "id": 4460, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4436, + "modifierName": { + "argumentTypes": null, + "id": 4435, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "5682:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5682:9:18" + } + ], + "name": "evictWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4433, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4460, + "src": "5658:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5658:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5657:17:18" + }, + "payable": false, + "returnParameters": { + "id": 4439, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4438, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4460, + "src": "5701:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4437, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5701:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5700:6:18" + }, + "scope": 5819, + "src": "5637:235:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4516, + "nodeType": "Block", + "src": "5939:322:18", + "statements": [ + { + "assignments": [ + 4468 + ], + "declarations": [ + { + "constant": false, + "id": 4468, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4517, + "src": "5943:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4467, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5943:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4472, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4470, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4462, + "src": "5971:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4469, + "name": "getWorkerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4355, + "src": "5956:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 4471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5956:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5943:36:18" + }, + { + "assignments": [ + 4474 + ], + "declarations": [ + { + "constant": false, + "id": 4474, + "name": "lastWorker", + "nodeType": "VariableDeclaration", + "scope": 4517, + "src": "6017:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4473, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6017:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4482, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4475, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6038:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4481, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6069: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": 4476, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6048:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4477, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6048:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "6048: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": 4480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6048:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6038:34:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6017:55:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4483, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6076:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4485, + "indexExpression": { + "argumentTypes": null, + "id": 4484, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4468, + "src": "6090:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6076:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4486, + "name": "lastWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4474, + "src": "6104:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6076:38:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4488, + "nodeType": "ExpressionStatement", + "src": "6076:38:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4489, + "name": "m_workerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4108, + "src": "6118:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4491, + "indexExpression": { + "argumentTypes": null, + "id": 4490, + "name": "lastWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4474, + "src": "6132:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6118:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4492, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4468, + "src": "6146:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6118:33:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4494, + "nodeType": "ExpressionStatement", + "src": "6118:33:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6155:41:18", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4495, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6162:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4501, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6193: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": 4496, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6172:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4497, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6172:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "6172: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": 4500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6172:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6162:34:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4503, + "nodeType": "ExpressionStatement", + "src": "6155:41:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4504, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6200:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4506, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6200:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6240: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": 4507, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6219:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4508, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6219:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "6219: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": 4511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6219:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6200:42:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4513, + "nodeType": "ExpressionStatement", + "src": "6200:42:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6253:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4466, + "id": 4515, + "nodeType": "Return", + "src": "6246:11:18" + } + ] + }, + "documentation": null, + "id": 4517, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4463, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4462, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4517, + "src": "5897:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4461, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5897:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5896:17:18" + }, + "payable": false, + "returnParameters": { + "id": 4466, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4465, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4517, + "src": "5932:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4464, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5932:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5931:6:18" + }, + "scope": 5819, + "src": "5875:386:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4564, + "nodeType": "Block", + "src": "6537:294:18", + "statements": [ + { + "assignments": [ + 4541 + ], + "declarations": [ + { + "constant": false, + "id": 4541, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6541:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4540, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "6541:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4545, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4542, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "6580:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4544, + "indexExpression": { + "argumentTypes": null, + "id": 4543, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4519, + "src": "6592:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6580:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6541:57:18" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4546, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6614:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4547, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2752, + "src": "6614:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4548, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6639:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4549, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "6639:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4550, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6665:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4551, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2756, + "src": "6665:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4552, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6689:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4553, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2758, + "src": "6689:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4554, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6714:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4555, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2760, + "src": "6714:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4556, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6742:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4557, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "6742:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4558, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6772:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4559, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "6772:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4560, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6798:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4561, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2769, + "src": "6798:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4562, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6609:218: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": 4537, + "id": 4563, + "nodeType": "Return", + "src": "6602:225:18" + } + ] + }, + "documentation": null, + "id": 4565, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getConsensusDetails", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4520, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4519, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6293:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6293:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6292:15:18" + }, + "payable": false, + "returnParameters": { + "id": 4537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4522, + "name": "c_poolReward", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6332:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4521, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6332:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4524, + "name": "c_stakeAmount", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6356:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4523, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6356:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4526, + "name": "c_consensus", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6381:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4525, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6381:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4528, + "name": "c_revealDate", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6404:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4527, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6404:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4530, + "name": "c_revealCounter", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6428:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4529, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6428:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4532, + "name": "c_consensusTimout", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6455:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4531, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6455:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4534, + "name": "c_winnerCount", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6484:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4533, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6484:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4536, + "name": "c_workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6509:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4535, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6509:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6328:207:18" + }, + "scope": 5819, + "src": "6264:567:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4578, + "nodeType": "Block", + "src": "6928:53:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4572, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "6939:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4574, + "indexExpression": { + "argumentTypes": null, + "id": 4573, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4567, + "src": "6951:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6939:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "id": 4575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "6939:31:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4576, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6939:38:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4571, + "id": 4577, + "nodeType": "Return", + "src": "6932:45:18" + } + ] + }, + "documentation": null, + "id": 4579, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContributorsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4567, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4579, + "src": "6864:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4566, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6864:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6863:15:18" + }, + "payable": false, + "returnParameters": { + "id": 4571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4570, + "name": "contributorsCount", + "nodeType": "VariableDeclaration", + "scope": 4579, + "src": "6900:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4569, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6900:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6899:27:18" + }, + "scope": 5819, + "src": "6834:147:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4595, + "nodeType": "Block", + "src": "7081:53:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4588, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "7092:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4590, + "indexExpression": { + "argumentTypes": null, + "id": 4589, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4581, + "src": "7104:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7092:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "id": 4591, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "7092:31:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4593, + "indexExpression": { + "argumentTypes": null, + "id": 4592, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4583, + "src": "7124:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7092:38:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4587, + "id": 4594, + "nodeType": "Return", + "src": "7085:45:18" + } + ] + }, + "documentation": null, + "id": 4596, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContributor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4581, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4596, + "src": "7008:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7008:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4583, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4596, + "src": "7023:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4582, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7023:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7007:30:18" + }, + "payable": false, + "returnParameters": { + "id": 4587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4586, + "name": "contributor", + "nodeType": "VariableDeclaration", + "scope": 4596, + "src": "7059:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4585, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7059:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7058:21:18" + }, + "scope": 5819, + "src": "6984:150:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4616, + "nodeType": "Block", + "src": "7246:94:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 4614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4605, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "7257:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 4607, + "indexExpression": { + "argumentTypes": null, + "id": 4606, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4598, + "src": "7273:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7257:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 4609, + "indexExpression": { + "argumentTypes": null, + "id": 4608, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4600, + "src": "7280:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7257:31:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 4610, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "7257:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4611, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "7299:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "7299:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 4613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "UNSET", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7299:37:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "7257:79:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4604, + "id": 4615, + "nodeType": "Return", + "src": "7250:86:18" + } + ] + }, + "documentation": null, + "id": 4617, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingContribution", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4598, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4617, + "src": "7167:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4597, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7167:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4600, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4617, + "src": "7182:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4599, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7182:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7166:32:18" + }, + "payable": false, + "returnParameters": { + "id": 4604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4603, + "name": "contributionExist", + "nodeType": "VariableDeclaration", + "scope": 4617, + "src": "7221:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4602, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7221:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7220:24:18" + }, + "scope": 5819, + "src": "7137:203:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4667, + "nodeType": "Block", + "src": "7573:337:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4638, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4619, + "src": "7606:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4639, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4621, + "src": "7613:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4637, + "name": "existingContribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4617, + "src": "7585:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 4640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7585:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4636, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "7577:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7577:45:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4642, + "nodeType": "ExpressionStatement", + "src": "7577:45:18" + }, + { + "assignments": [ + 4646 + ], + "declarations": [ + { + "constant": false, + "id": 4646, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7654:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4645, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2789, + "src": "7654:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4652, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4647, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "7699:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 4649, + "indexExpression": { + "argumentTypes": null, + "id": 4648, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4619, + "src": "7715:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7699:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 4651, + "indexExpression": { + "argumentTypes": null, + "id": 4650, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4621, + "src": "7722:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7699:31:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7654:76:18" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4653, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4646, + "src": "7746:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "7746:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4655, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4646, + "src": "7770:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4656, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2780, + "src": "7770:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4657, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4646, + "src": "7798:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultSign", + "nodeType": "MemberAccess", + "referencedDeclaration": 2782, + "src": "7798:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4659, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4646, + "src": "7826:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4660, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2784, + "src": "7826:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4661, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4646, + "src": "7860:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4662, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "score", + "nodeType": "MemberAccess", + "referencedDeclaration": 2786, + "src": "7860:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4663, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4646, + "src": "7883:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 2788, + "src": "7883:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4665, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7741:165:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_ContributionStatusEnum_$2776_$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum IexecLib.ContributionStatusEnum,bytes32,bytes32,address,uint256,uint256)" + } + }, + "functionReturnParameters": 4635, + "id": 4666, + "nodeType": "Return", + "src": "7734:172:18" + } + ] + }, + "documentation": null, + "id": 4668, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContribution", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4622, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4619, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7368:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4618, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7368:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4621, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7383:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4620, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7383:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7367:32:18" + }, + "payable": false, + "returnParameters": { + "id": 4635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4624, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7425:38:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 4623, + "name": "IexecLib.ContributionStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2776, + "src": "7425:31:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4626, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7467:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4625, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7467:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4628, + "name": "resultSign", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7489:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4627, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7489:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4630, + "name": "enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7511:24:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7511:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4632, + "name": "score", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7539:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4631, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7539:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4634, + "name": "weight", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7556:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4633, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7556:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7421:150:18" + }, + "scope": 5819, + "src": "7343:567:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4747, + "nodeType": "Block", + "src": "8092:618:18", + "statements": [ + { + "assignments": [ + 4680 + ], + "declarations": [ + { + "constant": false, + "id": 4680, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 4748, + "src": "8096:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8096:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4685, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4683, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4672, + "src": "8158:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4681, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3295, + "src": "8114:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 4682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 3368, + "src": "8114:43:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8114:60:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8096:78:18" + }, + { + "assignments": [ + 4687 + ], + "declarations": [ + { + "constant": false, + "id": 4687, + "name": "timeout", + "nodeType": "VariableDeclaration", + "scope": 4748, + "src": "8178:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4686, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8178:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4698, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4696, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "8283:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4693, + "name": "CONSENSUS_DURATION_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4124, + "src": "8253:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4690, + "name": "catid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4680, + "src": "8242:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4688, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "8196:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getCategoryWorkClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2514, + "src": "8196:45:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8196:52:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3587, + "src": "8196: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": 4694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8196:82:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "8196: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": 4697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8196:91:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8178:109:18" + }, + { + "assignments": [ + 4702 + ], + "declarations": [ + { + "constant": false, + "id": 4702, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4748, + "src": "8292:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4701, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "8292:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4706, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4703, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "8331:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4705, + "indexExpression": { + "argumentTypes": null, + "id": 4704, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4670, + "src": "8343:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8331:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8292:57:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4707, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4702, + "src": "8353:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4709, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2752, + "src": "8353:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4712, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4672, + "src": "8422:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4710, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3295, + "src": "8381:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 4711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderValue", + "nodeType": "MemberAccess", + "referencedDeclaration": 3354, + "src": "8381:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8381:57:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8353:85:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4715, + "nodeType": "ExpressionStatement", + "src": "8353:85:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4716, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4702, + "src": "8442:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4718, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2769, + "src": "8442:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4721, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4672, + "src": "8521:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4719, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3295, + "src": "8470:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 4720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderWorkerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3361, + "src": "8470:50:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 4722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8470:67:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8442:95:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4724, + "nodeType": "ExpressionStatement", + "src": "8442:95:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4725, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4702, + "src": "8541:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4727, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "8541:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4731, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4093, + "src": "8601:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4728, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4702, + "src": "8569:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4729, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2752, + "src": "8569:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "8569: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": 4732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8569:51:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8541:79:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4734, + "nodeType": "ExpressionStatement", + "src": "8541:79:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4735, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4702, + "src": "8624:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "8624:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4738, + "name": "timeout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4687, + "src": "8652:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8624:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4740, + "nodeType": "ExpressionStatement", + "src": "8624:35:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4742, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4670, + "src": "8685:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4741, + "name": "WorkOrderActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4148, + "src": "8669:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8669:22:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4744, + "nodeType": "EmitStatement", + "src": "8664:27:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8702:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4678, + "id": 4746, + "nodeType": "Return", + "src": "8695:11:18" + } + ] + }, + "documentation": "************************** Works management ****************************", + "id": 4748, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4675, + "modifierName": { + "argumentTypes": null, + "id": 4674, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2336, + "src": "8063:12:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "8063:12:18" + } + ], + "name": "emitWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4670, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4748, + "src": "8016:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4669, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8016:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4672, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 4748, + "src": "8031:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4671, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8031:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8015:40:18" + }, + "payable": false, + "returnParameters": { + "id": 4678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4677, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4748, + "src": "8085:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4676, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8085:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8084:6:18" + }, + "scope": 5819, + "src": "7993:717:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4827, + "nodeType": "Block", + "src": "8794:455:18", + "statements": [ + { + "assignments": [ + 4760 + ], + "declarations": [ + { + "constant": false, + "id": 4760, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4828, + "src": "8799:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4759, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "8799:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4764, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4761, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "8838:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4763, + "indexExpression": { + "argumentTypes": null, + "id": 4762, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4750, + "src": "8850:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8838:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8799:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4766, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "8868:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4767, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4760, + "src": "8874:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4768, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "8874:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8868:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4765, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8860:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8860:40:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4771, + "nodeType": "ExpressionStatement", + "src": "8860:40:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4773, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 4828, + "src": "8904:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4772, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8904:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4774, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8904:9:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4776, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 4828, + "src": "8917:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4775, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8917:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4777, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8917:9:18" + }, + { + "body": { + "id": 4819, + "nodeType": "Block", + "src": "8984:215:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4790, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4776, + "src": "8989:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4791, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4760, + "src": "8993:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4792, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "8993:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4794, + "indexExpression": { + "argumentTypes": null, + "id": 4793, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4773, + "src": "9016:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8993:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8989:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4796, + "nodeType": "ExpressionStatement", + "src": "8989:29:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 4806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4797, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "9027:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 4799, + "indexExpression": { + "argumentTypes": null, + "id": 4798, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4750, + "src": "9043:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9027:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 4801, + "indexExpression": { + "argumentTypes": null, + "id": 4800, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4776, + "src": "9050:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9027:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 4802, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "9027:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4803, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "9063:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "9063:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 4805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "AUTHORIZED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9063:42:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "9027:78:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4818, + "nodeType": "IfStatement", + "src": "9023:172:18", + "trueBody": { + "id": 4817, + "nodeType": "Block", + "src": "9110:85:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4810, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4750, + "src": "9156:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4811, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4776, + "src": "9163:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4812, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4760, + "src": "9166:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4813, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "9166: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": 4808, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "9124:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unlockForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2634, + "src": "9124: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": 4814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9124:64:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4807, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9116:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9116:73:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4816, + "nodeType": "ExpressionStatement", + "src": "9116:73:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4782, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4773, + "src": "8942:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4783, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4760, + "src": "8946:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4784, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "8946:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4785, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8946:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8942:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4820, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 4780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4778, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4773, + "src": "8935:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8939:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8935:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4781, + "nodeType": "ExpressionStatement", + "src": "8935:5:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 4788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "8977:3:18", + "subExpression": { + "argumentTypes": null, + "id": 4787, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4773, + "src": "8979:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4789, + "nodeType": "ExpressionStatement", + "src": "8977:3:18" + }, + "nodeType": "ForStatement", + "src": "8930:269:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4822, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4750, + "src": "9224:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4821, + "name": "WorkOrderClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4152, + "src": "9207:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9207:23:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4824, + "nodeType": "EmitStatement", + "src": "9202:28:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9241:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4756, + "id": 4826, + "nodeType": "Return", + "src": "9234:11:18" + } + ] + }, + "documentation": null, + "id": 4828, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4753, + "modifierName": { + "argumentTypes": null, + "id": 4752, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2336, + "src": "8765:12:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "8765:12:18" + } + ], + "name": "claimFailedConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4750, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4828, + "src": "8743:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4749, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8743:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8742:15:18" + }, + "payable": false, + "returnParameters": { + "id": 4756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4755, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4828, + "src": "8787:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4754, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8787:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8786:6:18" + }, + "scope": 5819, + "src": "8713:536:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4867, + "nodeType": "Block", + "src": "9398:148:18", + "statements": [ + { + "body": { + "id": 4863, + "nodeType": "Block", + "src": "9447:81:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4855, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4830, + "src": "9484:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4856, + "name": "_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4833, + "src": "9491:8:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 4858, + "indexExpression": { + "argumentTypes": null, + "id": 4857, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4843, + "src": "9500:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9491:11:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4859, + "name": "_enclaveChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4835, + "src": "9504: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": 4854, + "name": "allowWorkerToContribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4973, + "src": "9460: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": 4860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9460:62:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4853, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9452:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9452:71:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4862, + "nodeType": "ExpressionStatement", + "src": "9452:71:18" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4846, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4843, + "src": "9419:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4847, + "name": "_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4833, + "src": "9423:8:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 4848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9423:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9419:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4864, + "initializationExpression": { + "assignments": [ + 4843 + ], + "declarations": [ + { + "constant": false, + "id": 4843, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 4868, + "src": "9407:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4842, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9407:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4845, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 4844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9416:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9407:10:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 4851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "9440:3:18", + "subExpression": { + "argumentTypes": null, + "id": 4850, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4843, + "src": "9442:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4852, + "nodeType": "ExpressionStatement", + "src": "9440:3:18" + }, + "nodeType": "ForStatement", + "src": "9402:126:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4865, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9538:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4841, + "id": 4866, + "nodeType": "Return", + "src": "9531:11:18" + } + ] + }, + "documentation": null, + "id": 4868, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4838, + "modifierName": { + "argumentTypes": null, + "id": 4837, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "9355:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9355:9:18" + } + ], + "name": "allowWorkersToContribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4830, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4868, + "src": "9286:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4829, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9286:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4833, + "name": "_workers", + "nodeType": "VariableDeclaration", + "scope": 4868, + "src": "9301:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + "typeName": { + "baseType": { + "id": 4831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9301:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4832, + "length": null, + "nodeType": "ArrayTypeName", + "src": "9301:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4835, + "name": "_enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 4868, + "src": "9321:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4834, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9321:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9285:62:18" + }, + "payable": false, + "returnParameters": { + "id": 4841, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4840, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4868, + "src": "9391:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4839, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9391:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9390:6:18" + }, + "scope": 5819, + "src": "9252:294:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4972, + "nodeType": "Block", + "src": "9691:744:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4883, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4870, + "src": "9713:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4882, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "9703:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 4884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9703:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 4885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 3802, + "src": "9703:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9703:27:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4887, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "9734:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "9734:28:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9734:35:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "9703:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4881, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9695:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9695:75:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4892, + "nodeType": "ExpressionStatement", + "src": "9695:75:18" + }, + { + "assignments": [ + 4896 + ], + "declarations": [ + { + "constant": false, + "id": 4896, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9774:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4895, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2789, + "src": "9774:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4902, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4897, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "9819:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 4899, + "indexExpression": { + "argumentTypes": null, + "id": 4898, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4870, + "src": "9835:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9819:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 4901, + "indexExpression": { + "argumentTypes": null, + "id": 4900, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4872, + "src": "9842:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9819:31:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9774:76:18" + }, + { + "assignments": [ + 4906 + ], + "declarations": [ + { + "constant": false, + "id": 4906, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9854:39:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4905, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "9854:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4910, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4907, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "9899:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4909, + "indexExpression": { + "argumentTypes": null, + "id": 4908, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4870, + "src": "9911:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9899:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9854:63:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4912, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "9929:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4913, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "9936:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4914, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "9936:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9929:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4911, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9921:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9921:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4917, + "nodeType": "ExpressionStatement", + "src": "9921:41:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4919, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9967:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4918, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9967:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4920, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "9967:18:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4922, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9989:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4921, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9989:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4923, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "9989:19:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 4924, + "name": "workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4919, + "src": "10013:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4925, + "name": "workerScore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4922, + "src": "10025:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4926, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10012:25:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4929, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4872, + "src": "10074:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4927, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "10040:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getWorkerStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2543, + "src": "10040:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$_t_uint256_$", + "typeString": "function (address) view external returns (address,uint256)" + } + }, + "id": 4930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10040:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "src": "10012:70:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4932, + "nodeType": "ExpressionStatement", + "src": "10012:70:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4934, + "name": "workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4919, + "src": "10121:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4936, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6748, + "src": "10143:4:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + ], + "id": 4935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10135:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10135:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10121:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4933, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10113:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10113:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4940, + "nodeType": "ExpressionStatement", + "src": "10113:36:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 4947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4942, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4896, + "src": "10162:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4943, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "10162:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4944, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "10185:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "10185:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 4946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "UNSET", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10185:37:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "10162:60:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4941, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10154:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10154:69:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4949, + "nodeType": "ExpressionStatement", + "src": "10154:69:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4950, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4896, + "src": "10227:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4952, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "10227:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4953, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "10259:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "10259:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 4955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "AUTHORIZED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10259:42:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "10227:74:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 4957, + "nodeType": "ExpressionStatement", + "src": "10227:74:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4958, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4896, + "src": "10305:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4960, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2784, + "src": "10305:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4961, + "name": "_enclaveChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4874, + "src": "10337:17:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10305:49:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4963, + "nodeType": "ExpressionStatement", + "src": "10305:49:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4965, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4870, + "src": "10388:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4966, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4872, + "src": "10395:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4967, + "name": "workerScore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4922, + "src": "10404: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": 4964, + "name": "AllowWorkerToContribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4160, + "src": "10364:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 4968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10364:52:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4969, + "nodeType": "EmitStatement", + "src": "10359:57:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10427:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4880, + "id": 4971, + "nodeType": "Return", + "src": "10420:11:18" + } + ] + }, + "documentation": null, + "id": 4973, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4877, + "modifierName": { + "argumentTypes": null, + "id": 4876, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "9648:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9648:9:18" + } + ], + "name": "allowWorkerToContribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4870, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9582:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4869, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9582:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4872, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9597:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4871, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9597:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4874, + "name": "_enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9614:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4873, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9614:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9581:59:18" + }, + "payable": false, + "returnParameters": { + "id": 4880, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4879, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9684:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4878, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9684:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9683:6:18" + }, + "scope": 5819, + "src": "9549:886:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5133, + "nodeType": "Block", + "src": "10587:1143:18", + "statements": [ + { + "assignments": [ + 4993 + ], + "declarations": [ + { + "constant": false, + "id": 4993, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10591:39:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4992, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "10591:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4997, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4994, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "10636:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4996, + "indexExpression": { + "argumentTypes": null, + "id": 4995, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4975, + "src": "10648:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10636:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10591:63:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4999, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "10666:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5000, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4993, + "src": "10673:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5001, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "10673:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10666:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4998, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10658:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10658:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5004, + "nodeType": "ExpressionStatement", + "src": "10658:41:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 5014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5007, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4975, + "src": "10721:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5006, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "10711:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10711:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 5009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 3802, + "src": "10711:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10711:27:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5011, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "10742:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "10742:28:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10742:35:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "10711:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5005, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10703:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10703:75:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5016, + "nodeType": "ExpressionStatement", + "src": "10703:75:18" + }, + { + "assignments": [ + 5020 + ], + "declarations": [ + { + "constant": false, + "id": 5020, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10838:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5019, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2789, + "src": "10838:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5027, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5021, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "10883:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5023, + "indexExpression": { + "argumentTypes": null, + "id": 5022, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4975, + "src": "10899:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10883:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5026, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5024, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "10906:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10906:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10883:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10838:79:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5029, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "10957:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 5030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10972:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "10957:18:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5028, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10949:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10949:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5033, + "nodeType": "ExpressionStatement", + "src": "10949:27:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5035, + "name": "_resultSign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4979, + "src": "10988:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 5036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11003:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "10988:18:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5034, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10980:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10980:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5039, + "nodeType": "ExpressionStatement", + "src": "10980:27:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5040, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11015:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5041, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2784, + "src": "11015:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5043, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11056: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": 5042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11048:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11048:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11015:43:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5063, + "nodeType": "IfStatement", + "src": "11011:197:18", + "trueBody": { + "id": 5062, + "nodeType": "Block", + "src": "11062:146:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5047, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11075:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5048, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2784, + "src": "11075:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3634", + "id": 5051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11128:34:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9835cb014a61578493d8e56753fb400073be9e8b300198bc2d66711870e6f164", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n64\"" + }, + "value": "\u0019Ethereum Signed Message:\n64" + }, + { + "argumentTypes": null, + "id": 5052, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "11164:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5053, + "name": "_resultSign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4979, + "src": "11177: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": 5050, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "11118:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11118:71:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5055, + "name": "_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4981, + "src": "11191:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 5056, + "name": "_r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4983, + "src": "11195:2:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5057, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4985, + "src": "11199: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": 5049, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6691, + "src": "11108: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": 5058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11108:94:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11075:127:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5046, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11067:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11067:136:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5061, + "nodeType": "ExpressionStatement", + "src": "11067:136:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5065, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11220:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5066, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "11220:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5067, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "11243:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "11243:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5069, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "AUTHORIZED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11243:42:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "11220:65:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5064, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11212:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11212:74:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5072, + "nodeType": "ExpressionStatement", + "src": "11212:74:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5073, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11290:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5075, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "11290:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5076, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "11316:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "11316:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CONTRIBUTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11316:43:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "11290:69:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5080, + "nodeType": "ExpressionStatement", + "src": "11290:69:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5081, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11363:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5083, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2780, + "src": "11363:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5084, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "11389:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11363:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5086, + "nodeType": "ExpressionStatement", + "src": "11363:37:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5087, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11404:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5089, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resultSign", + "nodeType": "MemberAccess", + "referencedDeclaration": 2782, + "src": "11404:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5090, + "name": "_resultSign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4979, + "src": "11430:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11404:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5092, + "nodeType": "ExpressionStatement", + "src": "11404:37:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5093, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11445:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5095, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "score", + "nodeType": "MemberAccess", + "referencedDeclaration": 2786, + "src": "11445:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5098, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11504:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11504:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5096, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "11471:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getWorkerScore", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "11471:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 5100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11471:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11445:70:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5102, + "nodeType": "ExpressionStatement", + "src": "11445:70:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5108, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11547:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11547:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5103, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4993, + "src": "11519:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "11519:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11519:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 5110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11519:39:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5111, + "nodeType": "ExpressionStatement", + "src": "11519:39:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5115, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4975, + "src": "11601:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5116, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11608:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11608:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5118, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4993, + "src": "11620:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5119, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "11620: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": 5113, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "11571:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2623, + "src": "11571: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": 5120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11571:71:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5112, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11563: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": "11563:80:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5122, + "nodeType": "ExpressionStatement", + "src": "11563:80:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5124, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4975, + "src": "11663:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5125, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11670:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11670:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5127, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "11682: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": 5123, + "name": "Contribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4168, + "src": "11652:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 5128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11652:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5129, + "nodeType": "EmitStatement", + "src": "11647:47:18" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5130, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4993, + "src": "11705:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "11705:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4989, + "id": 5132, + "nodeType": "Return", + "src": "11698:28:18" + } + ] + }, + "documentation": null, + "id": 5134, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "contribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4986, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4975, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10458:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4974, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10458:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4977, + "name": "_resultHash", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10473:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4976, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10473:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4979, + "name": "_resultSign", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10494:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4978, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10494:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4981, + "name": "_v", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10515:8:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4980, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "10515:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4983, + "name": "_r", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10525:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4982, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10525:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4985, + "name": "_s", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10537:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4984, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10537:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10457:91:18" + }, + "payable": false, + "returnParameters": { + "id": 4989, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4988, + "name": "workerStake", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10565:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4987, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10565:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10564:21:18" + }, + "scope": 5819, + "src": "10438:1292:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5268, + "nodeType": "Block", + "src": "11843:1010:18", + "statements": [ + { + "assignments": [ + 5148 + ], + "declarations": [ + { + "constant": false, + "id": 5148, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5269, + "src": "11847:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5147, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "11847:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_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": 4112, + "src": "11886:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5151, + "indexExpression": { + "argumentTypes": null, + "id": 5150, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "11898:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11886:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11847:57: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": 6701, + "src": "11916: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": "11923:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "11923:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11916:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5153, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11908: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": "11908:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5159, + "nodeType": "ExpressionStatement", + "src": "11908:41:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5162, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "11971:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5161, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "11961:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11961:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 5164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startRevealingPhase", + "nodeType": "MemberAccess", + "referencedDeclaration": 3948, + "src": "11961:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$", + "typeString": "function () external returns (bool)" + } + }, + "id": 5165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11961:38:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5160, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11953:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11953:47:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5167, + "nodeType": "ExpressionStatement", + "src": "11953:47:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5168, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12005:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5170, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "12005:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12029:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12005:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5173, + "nodeType": "ExpressionStatement", + "src": "12005:25:18" + }, + { + "body": { + "id": 5224, + "nodeType": "Block", + "src": "12094:317:18", + "statements": [ + { + "assignments": [ + 5187 + ], + "declarations": [ + { + "constant": false, + "id": 5187, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 5269, + "src": "12099:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5186, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12099:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5192, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5188, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12111:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5189, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "12111:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5191, + "indexExpression": { + "argumentTypes": null, + "id": 5190, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "12134:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12111:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12099:37:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5193, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "12150:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5195, + "indexExpression": { + "argumentTypes": null, + "id": 5194, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "12166:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12150:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5197, + "indexExpression": { + "argumentTypes": null, + "id": 5196, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5187, + "src": "12173:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12150:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5198, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2780, + "src": "12150:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5199, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5138, + "src": "12190:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12150:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5201, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "12212:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5203, + "indexExpression": { + "argumentTypes": null, + "id": 5202, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "12228:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12212:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5205, + "indexExpression": { + "argumentTypes": null, + "id": 5204, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5187, + "src": "12235:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12212:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5206, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "12212:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5207, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "12248:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "12248:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CONTRIBUTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12248:43:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "12212:79:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12150:141:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5223, + "nodeType": "IfStatement", + "src": "12141:266:18", + "trueBody": { + "id": 5222, + "nodeType": "Block", + "src": "12343:64:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5212, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12349:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5214, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "12349:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 5218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12399: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": 5215, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12373:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5216, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "12373:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "12373: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": 5219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12373:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12349:52:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5221, + "nodeType": "ExpressionStatement", + "src": "12349:52:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5178, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "12054:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5179, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12056:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "12056:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5181, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12056:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12054:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5225, + "initializationExpression": { + "assignments": [ + 5175 + ], + "declarations": [ + { + "constant": false, + "id": 5175, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5269, + "src": "12039:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5174, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12039:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5177, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12051:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12039:13:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "12087:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5183, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "12089:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5185, + "nodeType": "ExpressionStatement", + "src": "12087:3:18" + }, + "nodeType": "ForStatement", + "src": "12034:377:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5227, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12422:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5228, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "12422:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12446:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12422:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5226, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12414:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12414:34:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5232, + "nodeType": "ExpressionStatement", + "src": "12414:34:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5233, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12525:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5235, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2756, + "src": "12525:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5236, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5138, + "src": "12548:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12525:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5238, + "nodeType": "ExpressionStatement", + "src": "12525:33:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5239, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12562:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5241, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2758, + "src": "12562:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5257, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "12751:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5254, + "name": "REVEAL_PERIOD_DURATION_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4121, + "src": "12717: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": 5247, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "12685:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5246, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "12675:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12675:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 5249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 3804, + "src": "12675:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 5250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12675:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5244, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3295, + "src": "12631:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 5245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 3368, + "src": "12631:43:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 5251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12631:80:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5242, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "12585:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getCategoryWorkClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2514, + "src": "12585:45:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 5252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12585:127:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3587, + "src": "12585: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": 5255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12585:161:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "12585: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": 5258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12585:170:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12562:193:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5260, + "nodeType": "ExpressionStatement", + "src": "12562:193:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5262, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "12816:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5263, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5138, + "src": "12823:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5261, + "name": "RevealConsensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4174, + "src": "12800:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32)" + } + }, + "id": 5264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12800:34:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5265, + "nodeType": "EmitStatement", + "src": "12795:39:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5266, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12845:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5144, + "id": 5267, + "nodeType": "Return", + "src": "12838:11:18" + } + ] + }, + "documentation": null, + "id": 5269, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5141, + "modifierName": { + "argumentTypes": null, + "id": 5140, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "11800:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "11800:9:18" + } + ], + "name": "revealConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5136, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5269, + "src": "11758:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11758:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5138, + "name": "_consensus", + "nodeType": "VariableDeclaration", + "scope": 5269, + "src": "11773:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5137, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11773:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11757:35:18" + }, + "payable": false, + "returnParameters": { + "id": 5144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5143, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5269, + "src": "11836:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5142, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11836:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11835:6:18" + }, + "scope": 5819, + "src": "11733:1120:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5390, + "nodeType": "Block", + "src": "12927:910:18", + "statements": [ + { + "assignments": [ + 5281 + ], + "declarations": [ + { + "constant": false, + "id": 5281, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5391, + "src": "12931:39:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5280, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "12931:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5285, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5282, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "12976:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5284, + "indexExpression": { + "argumentTypes": null, + "id": 5283, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5271, + "src": "12988:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12976:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12931:63:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5287, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "13006:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5288, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5281, + "src": "13013:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5289, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "13013:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13006:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5286, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12998:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12998:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5292, + "nodeType": "ExpressionStatement", + "src": "12998:41:18" + }, + { + "assignments": [ + 5296 + ], + "declarations": [ + { + "constant": false, + "id": 5296, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 5391, + "src": "13043:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5295, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2789, + "src": "13043:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5303, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5297, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "13088:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5299, + "indexExpression": { + "argumentTypes": null, + "id": 5298, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5271, + "src": "13104:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13088:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5302, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5300, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "13111:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13111:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13088:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13043:79:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 5313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5306, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5271, + "src": "13145:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5305, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "13135:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13135:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 5308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 3802, + "src": "13135:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13135:27:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5310, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "13166:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "13166:28:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13166:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "13135:69:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5304, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13127:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13127:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5315, + "nodeType": "ExpressionStatement", + "src": "13127:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5317, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5281, + "src": "13222:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5318, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2758, + "src": "13222:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 5319, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "13253:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13222:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5316, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13214:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13214:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5322, + "nodeType": "ExpressionStatement", + "src": "13214:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5324, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "13309:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5325, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "13309:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5326, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "13340:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "13340:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CONTRIBUTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13340:43:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "13309:74:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5323, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13301:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13301:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5331, + "nodeType": "ExpressionStatement", + "src": "13301:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5333, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "13396:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5334, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2780, + "src": "13396:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5335, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5281, + "src": "13427:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2756, + "src": "13427:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13396:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5332, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13388:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13388:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5339, + "nodeType": "ExpressionStatement", + "src": "13388:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5341, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "13483:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2780, + "src": "13483:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5344, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5273, + "src": "13524:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5343, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "13514:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13514:42:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13483:73:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5340, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13475:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13475:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5348, + "nodeType": "ExpressionStatement", + "src": "13475:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5350, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "13570:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultSign", + "nodeType": "MemberAccess", + "referencedDeclaration": 2782, + "src": "13570:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5353, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5273, + "src": "13611:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5355, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "13631:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13631:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5354, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "13621:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13621:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13611:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5352, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "13601:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13601:42:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13570:73:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5349, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13562:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13562:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5362, + "nodeType": "ExpressionStatement", + "src": "13562:83:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5363, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "13650:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5365, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "13650:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5366, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "13676:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "13676:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PROVED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13676:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "13650:64:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5370, + "nodeType": "ExpressionStatement", + "src": "13650:64:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5371, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5281, + "src": "13718:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5373, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2760, + "src": "13718:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 5377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13772: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": 5374, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5281, + "src": "13744:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5375, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2760, + "src": "13744:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "13744: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": 5378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13744:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13718:56:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5380, + "nodeType": "ExpressionStatement", + "src": "13718:56:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5382, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5271, + "src": "13791:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5383, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "13798:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13798:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5385, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5273, + "src": "13810: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": 5381, + "name": "Reveal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4182, + "src": "13784:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 5386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13784:34:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5387, + "nodeType": "EmitStatement", + "src": "13779:39:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13829:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5277, + "id": 5389, + "nodeType": "Return", + "src": "13822:11:18" + } + ] + }, + "documentation": null, + "id": 5391, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reveal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5274, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5271, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5391, + "src": "12872:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5270, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12872:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5273, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 5391, + "src": "12887:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5272, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12887:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12871:32:18" + }, + "payable": false, + "returnParameters": { + "id": 5277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5276, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5391, + "src": "12920:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5275, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12920:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12919:6:18" + }, + "scope": 5819, + "src": "12856:981:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5502, + "nodeType": "Block", + "src": "13921:744:18", + "statements": [ + { + "assignments": [ + 5403 + ], + "declarations": [ + { + "constant": false, + "id": 5403, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5503, + "src": "13925:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5402, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "13925:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5407, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5404, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "13964:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5406, + "indexExpression": { + "argumentTypes": null, + "id": 5405, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "13976:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13964:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13925:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5409, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "13994:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5410, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14001:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "14001:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13994:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5408, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13986:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13986:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5414, + "nodeType": "ExpressionStatement", + "src": "13986:41:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5416, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14039:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5417, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2758, + "src": "14039:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 5418, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "14063:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14039:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5420, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14070:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5421, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2760, + "src": "14070:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14097:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14070:28:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14039:59:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5415, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14031:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14031:68:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5426, + "nodeType": "ExpressionStatement", + "src": "14031:68:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5429, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "14121:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5428, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "14111:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14111:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 5431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "reActivate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3980, + "src": "14111:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$", + "typeString": "function () external returns (bool)" + } + }, + "id": 5432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14111:29:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5427, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14103:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14103:38:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5434, + "nodeType": "ExpressionStatement", + "src": "14103:38:18" + }, + { + "body": { + "id": 5476, + "nodeType": "Block", + "src": "14208:206:18", + "statements": [ + { + "assignments": [ + 5448 + ], + "declarations": [ + { + "constant": false, + "id": 5448, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 5503, + "src": "14213:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5447, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14213:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5453, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5449, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14225:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5450, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "14225:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5452, + "indexExpression": { + "argumentTypes": null, + "id": 5451, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5436, + "src": "14248:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14225:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14213:37:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5454, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "14259:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5456, + "indexExpression": { + "argumentTypes": null, + "id": 5455, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "14275:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14259:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5458, + "indexExpression": { + "argumentTypes": null, + "id": 5457, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5448, + "src": "14282:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14259:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5459, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2780, + "src": "14259:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5460, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14299:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5461, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2756, + "src": "14299:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "14259:59:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5475, + "nodeType": "IfStatement", + "src": "14255:155:18", + "trueBody": { + "id": 5474, + "nodeType": "Block", + "src": "14323:87:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5463, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "14329:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5466, + "indexExpression": { + "argumentTypes": null, + "id": 5464, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "14345:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14329:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5467, + "indexExpression": { + "argumentTypes": null, + "id": 5465, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5448, + "src": "14352:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14329:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5468, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "14329:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5469, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "14364:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "14364:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REJECTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14364:40:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "14329:75:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5473, + "nodeType": "ExpressionStatement", + "src": "14329:75:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5439, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5436, + "src": "14166:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5440, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14170:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5441, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "14170:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5442, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14170:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14166:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5477, + "initializationExpression": { + "assignments": [ + 5436 + ], + "declarations": [ + { + "constant": false, + "id": 5436, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5503, + "src": "14151:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14151:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5438, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14163:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14151:13:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "14201:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5444, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5436, + "src": "14203:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5446, + "nodeType": "ExpressionStatement", + "src": "14201:3:18" + }, + "nodeType": "ForStatement", + "src": "14146:268:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5478, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14539:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5480, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "14539:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14563:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14539:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5483, + "nodeType": "ExpressionStatement", + "src": "14539:25:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5484, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14568:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2756, + "src": "14568:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "307830", + "id": 5487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14592:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "14568:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5489, + "nodeType": "ExpressionStatement", + "src": "14568:27:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5490, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14599:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5492, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2758, + "src": "14599:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14623:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14599:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5495, + "nodeType": "ExpressionStatement", + "src": "14599:25:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5497, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "14640:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5496, + "name": "Reopen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4186, + "src": "14633:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14633:13:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5499, + "nodeType": "EmitStatement", + "src": "14628:18:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14657:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5399, + "id": 5501, + "nodeType": "Return", + "src": "14650:11:18" + } + ] + }, + "documentation": null, + "id": 5503, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5396, + "modifierName": { + "argumentTypes": null, + "id": 5395, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "13878:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "13878:9:18" + } + ], + "name": "reopen", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5393, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5503, + "src": "13856:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5392, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13856:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13855:15:18" + }, + "payable": false, + "returnParameters": { + "id": 5399, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5398, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5503, + "src": "13914:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5397, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13914:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13913:6:18" + }, + "scope": 5819, + "src": "13840:825:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5579, + "nodeType": "Block", + "src": "14902:558:18", + "statements": [ + { + "assignments": [ + 5521 + ], + "declarations": [ + { + "constant": false, + "id": 5521, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5580, + "src": "14906:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5520, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "14906:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5525, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5522, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "14945:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5524, + "indexExpression": { + "argumentTypes": null, + "id": 5523, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5505, + "src": "14957:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14945:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14906:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5527, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "14975:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5528, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "14982:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5529, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "14982:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14975:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5526, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14967:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14967:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5532, + "nodeType": "ExpressionStatement", + "src": "14967:41:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5534, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "15021:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5535, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2758, + "src": "15021:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 5536, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "15045:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15021:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5538, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "15052:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5539, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2760, + "src": "15052:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15078:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15052:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15021:58:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5543, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15020:60:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5544, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "15085:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5545, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2760, + "src": "15085:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5546, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "15112:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5547, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "15112:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15085:48:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5549, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15084:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15020:114:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5533, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "15012:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15012:123:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5552, + "nodeType": "ExpressionStatement", + "src": "15012:123:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5555, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5505, + "src": "15294:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5556, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "15301:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + ], + "id": 5554, + "name": "distributeRewards", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "15276:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_Consensus_$2770_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,struct IexecLib.Consensus memory) returns (bool)" + } + }, + "id": 5557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15276:35:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5553, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "15268:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15268:44:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5559, + "nodeType": "ExpressionStatement", + "src": "15268:44:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5563, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5505, + "src": "15361:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5564, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5507, + "src": "15368:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5565, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5509, + "src": "15377:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5566, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5511, + "src": "15386: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": 5561, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "15325:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "finalizeWorkOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2507, + "src": "15325: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": 5567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15325:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5560, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "15317:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15317:75:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5569, + "nodeType": "ExpressionStatement", + "src": "15317:75:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5571, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5505, + "src": "15414:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5572, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5507, + "src": "15420:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5573, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5509, + "src": "15428:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5574, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5511, + "src": "15436: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": 5570, + "name": "FinalizeWork", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4196, + "src": "15401: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": 5575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15401:40:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5576, + "nodeType": "EmitStatement", + "src": "15396:45:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15452:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5517, + "id": 5578, + "nodeType": "Return", + "src": "15445:11:18" + } + ] + }, + "documentation": null, + "id": 5580, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5514, + "modifierName": { + "argumentTypes": null, + "id": 5513, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "14859:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "14859:9:18" + } + ], + "name": "finalizeWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5505, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5580, + "src": "14792:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5504, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14792:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5507, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 5580, + "src": "14807:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 5506, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14807:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5509, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 5580, + "src": "14823:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 5508, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14823:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5511, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 5580, + "src": "14839:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 5510, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14839:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14791:60:18" + }, + "payable": false, + "returnParameters": { + "id": 5517, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5516, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5580, + "src": "14895:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5515, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14895:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14894:6:18" + }, + "scope": 5819, + "src": "14770:690:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5817, + "nodeType": "Block", + "src": "15561:1875:18", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5590, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15565:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5589, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15565:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5591, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15565:9:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5593, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15578:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15578:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5594, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15578:9:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5596, + "name": "workerBonus", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15591:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15591:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5597, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15591:19:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5599, + "name": "workerWeight", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15614:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5598, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15614:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5600, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15614:20:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5602, + "name": "totalWeight", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15638:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5601, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15638:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5603, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15638:19:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5605, + "name": "workerReward", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15661:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5604, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15661:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5606, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15661:20:18" + }, + { + "assignments": [ + 5608 + ], + "declarations": [ + { + "constant": false, + "id": 5608, + "name": "totalReward", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15685:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15685:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5611, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5609, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "15707:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5610, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2752, + "src": "15707:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15685:43:18" + }, + { + "assignments": [ + 5615 + ], + "declarations": [ + { + "constant": false, + "id": 5615, + "name": "contributors", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15732:29:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + "typeName": { + "baseType": { + "id": 5613, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15732:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5614, + "length": null, + "nodeType": "ArrayTypeName", + "src": "15732:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5618, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5616, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "15764:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5617, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "15764:23:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15732:55:18" + }, + { + "body": { + "id": 5701, + "nodeType": "Block", + "src": "15833:590:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5630, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "15838:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5631, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5615, + "src": "15842:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5633, + "indexExpression": { + "argumentTypes": null, + "id": 5632, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "15855:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15842:15:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15838:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5635, + "nodeType": "ExpressionStatement", + "src": "15838:19:18" + }, + { + "assignments": [ + 5639 + ], + "declarations": [ + { + "constant": false, + "id": 5639, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15862:31:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5638, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2789, + "src": "15862:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5645, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5640, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "15896:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5642, + "indexExpression": { + "argumentTypes": null, + "id": 5641, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "15912:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15896:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5644, + "indexExpression": { + "argumentTypes": null, + "id": 5643, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "15919:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15896:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15862:59:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5646, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5639, + "src": "15930:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5647, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "15930:8:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5648, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "15942:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "15942:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PROVED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15942:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "15930:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5699, + "nodeType": "Block", + "src": "16354:65:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5691, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "16360:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5694, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "16390:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5695, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "16390:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5692, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "16374:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "16374: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": 5696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16374:39:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16360:53:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5698, + "nodeType": "ExpressionStatement", + "src": "16360:53:18" + } + ] + }, + "id": 5700, + "nodeType": "IfStatement", + "src": "15926:493:18", + "trueBody": { + "id": 5690, + "nodeType": "Block", + "src": "15985:271:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5652, + "name": "workerBonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5596, + "src": "15991: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": 5658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5653, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5639, + "src": "16007:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2784, + "src": "16007:18:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16037: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": 5655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16029:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16029:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16007:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5659, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16006:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16047:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "id": 5662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "16006:42:18", + "trueExpression": { + "argumentTypes": null, + "hexValue": "33", + "id": 5660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16043:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "15991:57:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5664, + "nodeType": "ExpressionStatement", + "src": "15991:57:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5665, + "name": "workerWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5599, + "src": "16079:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5666, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16094: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": 5670, + "name": "workerBonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5596, + "src": "16110:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5667, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5639, + "src": "16098:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5668, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "score", + "nodeType": "MemberAccess", + "referencedDeclaration": 2786, + "src": "16098:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3587, + "src": "16098: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": 5671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16098:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "log", + "nodeType": "MemberAccess", + "referencedDeclaration": 3684, + "src": "16098:28:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 5673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16098:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16094:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16079:49:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5676, + "nodeType": "ExpressionStatement", + "src": "16079:49:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5677, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5602, + "src": "16134:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5680, + "name": "workerWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5599, + "src": "16165:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5678, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5602, + "src": "16149:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "16149: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": 5681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16149:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16134:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5683, + "nodeType": "ExpressionStatement", + "src": "16134:44:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5684, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5639, + "src": "16184:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5686, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 2788, + "src": "16184:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5687, + "name": "workerWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5599, + "src": "16199:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16184:27:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5689, + "nodeType": "ExpressionStatement", + "src": "16184:27:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5623, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "15803:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5624, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5615, + "src": "15805:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15805:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15803:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5702, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 5621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5619, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "15796:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15800:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15796:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5622, + "nodeType": "ExpressionStatement", + "src": "15796:5:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "15826:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5627, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "15828:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5629, + "nodeType": "ExpressionStatement", + "src": "15826:3:18" + }, + "nodeType": "ForStatement", + "src": "15791:632:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5704, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5602, + "src": "16434:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16448:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16434:15:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5703, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "16426:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16426:24:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5708, + "nodeType": "ExpressionStatement", + "src": "16426:24:18" + }, + { + "assignments": [ + 5710 + ], + "declarations": [ + { + "constant": false, + "id": 5710, + "name": "workersReward", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "16501:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5709, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16501:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5720, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5717, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4095, + "src": "16565:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "313030", + "id": 5714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16556: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": 5713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16548:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 5715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16548:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "16548: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": 5718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16548:46:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5711, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "16525:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "16525: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": 5719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16525:70:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16501:94:18" + }, + { + "body": { + "id": 5802, + "nodeType": "Block", + "src": "16642:626:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5732, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "16647:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5733, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5615, + "src": "16651:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5735, + "indexExpression": { + "argumentTypes": null, + "id": 5734, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "16664:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16651:15:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16647:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5737, + "nodeType": "ExpressionStatement", + "src": "16647:19:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5738, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "16675:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5740, + "indexExpression": { + "argumentTypes": null, + "id": 5739, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "16691:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16675:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5742, + "indexExpression": { + "argumentTypes": null, + "id": 5741, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "16698:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16675:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5743, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "16675:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5744, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "16711:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "16711:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PROVED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16711:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "16675:74:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5800, + "nodeType": "Block", + "src": "17156:108:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5792, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "17201:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5793, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "17208:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5794, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "17211:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5795, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "17211:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17235: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": 5790, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "17170:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "seizeForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2660, + "src": "17170: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": 5797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17170:70:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5789, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "17162:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17162:79:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5799, + "nodeType": "ExpressionStatement", + "src": "17162:79:18" + } + ] + }, + "id": 5801, + "nodeType": "IfStatement", + "src": "16671:593:18", + "trueBody": { + "id": 5788, + "nodeType": "Block", + "src": "16754:307:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5748, + "name": "workerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5605, + "src": "16760:12: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": 5751, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "16803:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5753, + "indexExpression": { + "argumentTypes": null, + "id": 5752, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "16819:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16803:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5755, + "indexExpression": { + "argumentTypes": null, + "id": 5754, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "16826:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16803:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5756, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 2788, + "src": "16803:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5757, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5602, + "src": "16837:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5749, + "name": "workersReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5710, + "src": "16775:13:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mulByFraction", + "nodeType": "MemberAccess", + "referencedDeclaration": 3659, + "src": "16775:27: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": 5758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16775:74:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16760:89:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5760, + "nodeType": "ExpressionStatement", + "src": "16760:89:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5761, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "16855:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5764, + "name": "workerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5605, + "src": "16886:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5762, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "16870:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "16870: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": 5765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16870:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16855:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5767, + "nodeType": "ExpressionStatement", + "src": "16855:44:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5771, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "16945:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5772, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "16952:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5773, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "16955:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5774, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "16955: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": 5769, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "16913:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unlockForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2634, + "src": "16913: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": 5775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16913:65:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5768, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "16905:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16905:74:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5777, + "nodeType": "ExpressionStatement", + "src": "16905:74:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5781, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "17025:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5782, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "17032:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5783, + "name": "workerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5605, + "src": "17035:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17049: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": 5779, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "16993:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2647, + "src": "16993: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": 5785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16993:61:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5778, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "16985:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16985:70:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5787, + "nodeType": "ExpressionStatement", + "src": "16985:70:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5725, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "16612:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5726, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5615, + "src": "16614:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16614:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16612:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5803, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 5723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5721, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "16605:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16609:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16605:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5724, + "nodeType": "ExpressionStatement", + "src": "16605:5:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "16635:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5729, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "16637:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5731, + "nodeType": "ExpressionStatement", + "src": "16635:3:18" + }, + "nodeType": "ForStatement", + "src": "16600:668:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5807, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "17361:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5808, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "17368:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5809, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2769, + "src": "17368:26:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5810, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "17396:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17409: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": 5805, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "17329:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2647, + "src": "17329: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": 5812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17329:86:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5804, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "17321:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17321:95:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5814, + "nodeType": "ExpressionStatement", + "src": "17321:95:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17428:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5588, + "id": 5816, + "nodeType": "Return", + "src": "17421:11:18" + } + ] + }, + "documentation": null, + "id": 5818, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "distributeRewards", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5585, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5582, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15490:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5581, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15490:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5584, + "name": "_consensus", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15505:29:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + }, + "typeName": { + "contractScope": null, + "id": 5583, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "15505:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15489:46:18" + }, + "payable": false, + "returnParameters": { + "id": 5588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5587, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15554:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5586, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15554:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15553:6:18" + }, + "scope": 5819, + "src": "15463:1973:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 5820, + "src": "253:17186:18" + } + ], + "src": "0:17440:18" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", + "exportedSymbols": { + "WorkerPool": [ + 5819 + ] + }, + "id": 5820, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4072, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:18" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 4073, + "nodeType": "ImportDirective", + "scope": 5820, + "sourceUnit": 3509, + "src": "26:25:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 4074, + "nodeType": "ImportDirective", + "scope": 5820, + "sourceUnit": 2362, + "src": "52:32:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceAccessor.sol", + "file": "./MarketplaceAccessor.sol", + "id": 4075, + "nodeType": "ImportDirective", + "scope": 5820, + "sourceUnit": 3321, + "src": "85:35:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHub.sol", + "file": "./IexecHub.sol", + "id": 4076, + "nodeType": "ImportDirective", + "scope": 5820, + "sourceUnit": 2319, + "src": "121:24:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 4077, + "nodeType": "ImportDirective", + "scope": 5820, + "sourceUnit": 3686, + "src": "146:26:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", + "file": "./WorkOrder.sol", + "id": 4078, + "nodeType": "ImportDirective", + "scope": 5820, + "sourceUnit": 4071, + "src": "173:25:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", + "file": "./Marketplace.sol", + "id": 4079, + "nodeType": "ImportDirective", + "scope": 5820, + "sourceUnit": 3289, + "src": "199:27:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 4080, + "nodeType": "ImportDirective", + "scope": 5820, + "sourceUnit": 2810, + "src": "227:24:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 4081, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "276:9:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 4082, + "nodeType": "InheritanceSpecifier", + "src": "276:9:18" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 4083, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2361, + "src": "287:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2361", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 4084, + "nodeType": "InheritanceSpecifier", + "src": "287:16:18" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 4085, + "name": "MarketplaceAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3320, + "src": "305:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceAccessor_$3320", + "typeString": "contract MarketplaceAccessor" + } + }, + "id": 4086, + "nodeType": "InheritanceSpecifier", + "src": "305:19:18" + } + ], + "contractDependencies": [ + 2361, + 3320, + 3508 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 5819, + "linearizedBaseContracts": [ + 5819, + 3320, + 2361, + 3508 + ], + "name": "WorkerPool", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 4089, + "libraryName": { + "contractScope": null, + "id": 4087, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3685, + "src": "334:10:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3685", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "328:29:18", + "typeName": { + "id": 4088, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "349:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 4091, + "name": "m_description", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "383:48:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 4090, + "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": 4093, + "name": "m_stakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "434:53:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4092, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "434:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4095, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "528:63:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4094, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "528:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4097, + "name": "m_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "632:64:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4096, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "632:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4099, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "782:67:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "782:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4101, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "885:67:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "885:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4104, + "name": "m_workers", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "988:44:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + }, + "typeName": { + "baseType": { + "id": 4102, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "988:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4103, + "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": 4108, + "name": "m_workerIndex", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "1035:48:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 4107, + "keyType": { + "id": 4105, + "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": 4106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4112, + "name": "m_consensus", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "1127:57:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + }, + "typeName": { + "id": 4111, + "keyType": { + "id": 4109, + "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_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 4110, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "1146:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4118, + "name": "m_contributions", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "1240:84:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + }, + "typeName": { + "id": 4117, + "keyType": { + "id": 4113, + "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_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + }, + "valueType": { + "id": 4116, + "keyType": { + "id": 4114, + "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_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 4115, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2789, + "src": "1278:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 4121, + "name": "REVEAL_PERIOD_DURATION_RATIO", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "1328:57:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4119, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1328:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 4120, + "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": 4124, + "name": "CONSENSUS_DURATION_RATIO", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "1388:58:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4122, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1388:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 4123, + "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": 4126, + "name": "m_workerPoolHubAddress", + "nodeType": "VariableDeclaration", + "scope": 5819, + "src": "1499:45:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1499:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": "Events", + "id": 4144, + "name": "WorkerPoolPolicyUpdate", + "nodeType": "EventDefinition", + "parameters": { + "id": 4143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4128, + "indexed": false, + "name": "oldStakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1602:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1602:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4130, + "indexed": false, + "name": "newStakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1645:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1645:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4132, + "indexed": false, + "name": "oldSchedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1676:37:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4131, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1676:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4134, + "indexed": false, + "name": "newSchedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1719:37:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4133, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1719:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4136, + "indexed": false, + "name": "oldSubscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1760:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1760:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4138, + "indexed": false, + "name": "newSubscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1803:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4137, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1803:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4140, + "indexed": false, + "name": "oldSubscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1848:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1848:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4142, + "indexed": false, + "name": "newSubscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4144, + "src": "1891:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4141, + "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": 4148, + "name": "WorkOrderActive", + "nodeType": "EventDefinition", + "parameters": { + "id": 4147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4146, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4148, + "src": "1968:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4145, + "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": 4152, + "name": "WorkOrderClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 4151, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4150, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4152, + "src": "2023:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4149, + "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": 4160, + "name": "AllowWorkerToContribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 4159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4154, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4160, + "src": "2079:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4153, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2079:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4156, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4160, + "src": "2101:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4155, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2101:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4158, + "indexed": false, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 4160, + "src": "2125:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4157, + "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": 4168, + "name": "Contribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 4167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4162, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4168, + "src": "2179:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4161, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2179:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4164, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4168, + "src": "2201:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2201:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4166, + "indexed": false, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 4168, + "src": "2225:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4165, + "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": 4174, + "name": "RevealConsensus", + "nodeType": "EventDefinition", + "parameters": { + "id": 4173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4170, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4174, + "src": "2278:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4169, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2278:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4172, + "indexed": false, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4174, + "src": "2300:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4171, + "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": 4182, + "name": "Reveal", + "nodeType": "EventDefinition", + "parameters": { + "id": 4181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4176, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4182, + "src": "2352:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4175, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2352:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4178, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4182, + "src": "2374:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4177, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2374:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4180, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 4182, + "src": "2398:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4179, + "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": 4186, + "name": "Reopen", + "nodeType": "EventDefinition", + "parameters": { + "id": 4185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4184, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4186, + "src": "2447:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4183, + "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": 4196, + "name": "FinalizeWork", + "nodeType": "EventDefinition", + "parameters": { + "id": 4195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4188, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4196, + "src": "2503:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4187, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2503:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4190, + "indexed": false, + "name": "stdout", + "nodeType": "VariableDeclaration", + "scope": 4196, + "src": "2525:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4189, + "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": 4192, + "indexed": false, + "name": "stderr", + "nodeType": "VariableDeclaration", + "scope": 4196, + "src": "2540:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4191, + "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": 4194, + "indexed": false, + "name": "uri", + "nodeType": "VariableDeclaration", + "scope": 4196, + "src": "2555:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4193, + "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": 4200, + "name": "WorkerSubscribe", + "nodeType": "EventDefinition", + "parameters": { + "id": 4199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4198, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4200, + "src": "2603:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4197, + "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": 4204, + "name": "WorkerUnsubscribe", + "nodeType": "EventDefinition", + "parameters": { + "id": 4203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4202, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4204, + "src": "2660:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4201, + "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": 4208, + "name": "WorkerEviction", + "nodeType": "EventDefinition", + "parameters": { + "id": 4207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4206, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4208, + "src": "2717:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4205, + "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": 4271, + "nodeType": "Block", + "src": "3099:720:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4230, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "3169:2:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 4231, + "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": 4232, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "3182:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4233, + "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": 4229, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "3161:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3161:32:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4236, + "nodeType": "ExpressionStatement", + "src": "3161:32:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4238, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "3215:2:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 4239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3215:9:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4237, + "name": "transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3507, + "src": "3197:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3197:28:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4241, + "nodeType": "ExpressionStatement", + "src": "3197:28:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4242, + "name": "m_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4091, + "src": "3253:13:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4243, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4212, + "src": "3288:12:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3253:47:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4245, + "nodeType": "ExpressionStatement", + "src": "3253:47:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4246, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4093, + "src": "3304:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3330", + "id": 4247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3339:2:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "src": "3304:37:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4249, + "nodeType": "ExpressionStatement", + "src": "3304:37:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4250, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4095, + "src": "3383:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 4251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3418:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3383:36:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4253, + "nodeType": "ExpressionStatement", + "src": "3383:36:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4254, + "name": "m_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4097, + "src": "3485:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4255, + "name": "_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4214, + "src": "3520:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3485:63:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4257, + "nodeType": "ExpressionStatement", + "src": "3485:63:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4258, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4099, + "src": "3629:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4259, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4216, + "src": "3664:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3629:66:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4261, + "nodeType": "ExpressionStatement", + "src": "3629:66:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4262, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4101, + "src": "3699:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4263, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4218, + "src": "3734:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3699:66:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4265, + "nodeType": "ExpressionStatement", + "src": "3699:66:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4266, + "name": "m_workerPoolHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4126, + "src": "3769:22:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4267, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "3804:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3804:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3769:45:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4270, + "nodeType": "ExpressionStatement", + "src": "3769:45:18" + } + ] + }, + "documentation": "Methods", + "id": 4272, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 4223, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4210, + "src": "3030:16:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4224, + "modifierName": { + "argumentTypes": null, + "id": 4222, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "3013:16:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2361_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3013:34:18" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 4226, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4220, + "src": "3069:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4227, + "modifierName": { + "argumentTypes": null, + "id": 4225, + "name": "MarketplaceAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3320, + "src": "3049:19:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MarketplaceAccessor_$3320_$", + "typeString": "type(contract MarketplaceAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3049:40:18" + } + ], + "name": "WorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4221, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4210, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 4272, + "src": "2805:24:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4209, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2805:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4212, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 4272, + "src": "2833:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4211, + "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": 4214, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4272, + "src": "2857:36:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4213, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2857:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4216, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4272, + "src": "2897:39:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4215, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2897:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4218, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4272, + "src": "2940:39:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4217, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2940:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4220, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 4272, + "src": "2983:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4219, + "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": 4228, + "nodeType": "ParameterList", + "parameters": [], + "src": "3099:0:18" + }, + "scope": 5819, + "src": "2782:1037:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4318, + "nodeType": "Block", + "src": "4040:637:18", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4286, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4093, + "src": "4076:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4287, + "name": "_newStakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4274, + "src": "4110:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4288, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4095, + "src": "4135:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4289, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4276, + "src": "4169:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4290, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4099, + "src": "4204:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4291, + "name": "_newSubscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4278, + "src": "4238:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4292, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4101, + "src": "4277:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4293, + "name": "_newSubscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4280, + "src": "4311: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": 4285, + "name": "WorkerPoolPolicyUpdate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4144, + "src": "4049: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": 4294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4049:300:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4295, + "nodeType": "EmitStatement", + "src": "4044:305:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4297, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4276, + "src": "4361:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 4298, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4395:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "4361:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4296, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "4353:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4353:46:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4301, + "nodeType": "ExpressionStatement", + "src": "4353:46:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4302, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4093, + "src": "4403:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4303, + "name": "_newStakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4274, + "src": "4438:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4403:55:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4305, + "nodeType": "ExpressionStatement", + "src": "4403:55:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4306, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4095, + "src": "4462:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4307, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4276, + "src": "4497:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4462:65:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4309, + "nodeType": "ExpressionStatement", + "src": "4462:65:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4310, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4099, + "src": "4531:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4311, + "name": "_newSubscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4278, + "src": "4566:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4531:69:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4313, + "nodeType": "ExpressionStatement", + "src": "4531:69:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4314, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4101, + "src": "4604:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4315, + "name": "_newSubscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4280, + "src": "4639:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4604:69:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4317, + "nodeType": "ExpressionStatement", + "src": "4604:69:18" + } + ] + }, + "documentation": null, + "id": 4319, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4283, + "modifierName": { + "argumentTypes": null, + "id": 4282, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "4029:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4029:9:18" + } + ], + "name": "changeWorkerPoolPolicy", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4281, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4274, + "name": "_newStakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4319, + "src": "3857:28:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4273, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3857:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4276, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4319, + "src": "3889:38:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4275, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3889:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4278, + "name": "_newSubscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4319, + "src": "3931:42:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4277, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3931:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4280, + "name": "_newSubscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4319, + "src": "3977:42:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3977:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3853:167:18" + }, + "payable": false, + "returnParameters": { + "id": 4284, + "nodeType": "ParameterList", + "parameters": [], + "src": "4040:0:18" + }, + "scope": 5819, + "src": "3822:855:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4330, + "nodeType": "Block", + "src": "4829:32:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4326, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "4840:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4328, + "indexExpression": { + "argumentTypes": null, + "id": 4327, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4321, + "src": "4850:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4840:17:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4325, + "id": 4329, + "nodeType": "Return", + "src": "4833:24:18" + } + ] + }, + "documentation": "*********************** worker list management *************************", + "id": 4331, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4321, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 4331, + "src": "4785:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4320, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4785:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4784:13:18" + }, + "payable": false, + "returnParameters": { + "id": 4325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4324, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4331, + "src": "4819:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4323, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4819:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4818:9:18" + }, + "scope": 5819, + "src": "4759:102:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4354, + "nodeType": "Block", + "src": "4932:99:18", + "statements": [ + { + "assignments": [ + 4339 + ], + "declarations": [ + { + "constant": false, + "id": 4339, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4355, + "src": "4936:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4338, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4936:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4343, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4340, + "name": "m_workerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4108, + "src": "4949:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4342, + "indexExpression": { + "argumentTypes": null, + "id": 4341, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "4963:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4949:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4936:35:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4345, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "4983:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4347, + "indexExpression": { + "argumentTypes": null, + "id": 4346, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4339, + "src": "4993:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4983:16:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4348, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "5003:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4983:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4344, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "4975:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4975:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4351, + "nodeType": "ExpressionStatement", + "src": "4975:36:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4352, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4339, + "src": "5022:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4337, + "id": 4353, + "nodeType": "Return", + "src": "5015:12:18" + } + ] + }, + "documentation": null, + "id": 4355, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerIndex", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4334, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4333, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4355, + "src": "4887:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4332, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4887:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4886:17:18" + }, + "payable": false, + "returnParameters": { + "id": 4337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4336, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4355, + "src": "4925:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4335, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4925:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4924:6:18" + }, + "scope": 5819, + "src": "4863:168:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4363, + "nodeType": "Block", + "src": "5088:31:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4360, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "5099:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4361, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5099:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4359, + "id": 4362, + "nodeType": "Return", + "src": "5092:23:18" + } + ] + }, + "documentation": null, + "id": 4364, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkersCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4356, + "nodeType": "ParameterList", + "parameters": [], + "src": "5057:2:18" + }, + "payable": false, + "returnParameters": { + "id": 4359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4358, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4364, + "src": "5081:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4357, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5081:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5080:6:18" + }, + "scope": 5819, + "src": "5033:86:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4402, + "nodeType": "Block", + "src": "5172:224:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4372, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5242:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5242:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4370, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "5209:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "registerToPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2562, + "src": "5209:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 4374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5209:44:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4369, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "5201:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5201:53:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4376, + "nodeType": "ExpressionStatement", + "src": "5201:53:18" + }, + { + "assignments": [ + 4378 + ], + "declarations": [ + { + "constant": false, + "id": 4378, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4403, + "src": "5258:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4377, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5258:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4384, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4381, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5286:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5286:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4379, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "5271:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5271:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 4383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5271:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5258:39:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4385, + "name": "m_workerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4108, + "src": "5301:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4388, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4386, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5315:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5315:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5301:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4391, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5339: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": 4389, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4378, + "src": "5329:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "5329: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": 4392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5329:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5301:40:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4394, + "nodeType": "ExpressionStatement", + "src": "5301:40:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4396, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5366:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5366:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4395, + "name": "WorkerSubscribe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4200, + "src": "5350:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5350:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4399, + "nodeType": "EmitStatement", + "src": "5345:32:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5388:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4368, + "id": 4401, + "nodeType": "Return", + "src": "5381:11:18" + } + ] + }, + "documentation": null, + "id": 4403, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "subscribeToPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4365, + "nodeType": "ParameterList", + "parameters": [], + "src": "5146:2:18" + }, + "payable": false, + "returnParameters": { + "id": 4368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4367, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4403, + "src": "5165:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4366, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5165:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5164:6:18" + }, + "scope": 5819, + "src": "5122:274:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4430, + "nodeType": "Block", + "src": "5454:180:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4411, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5528:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5528:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4409, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "5491:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unregisterFromPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2569, + "src": "5491:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 4413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5491:48:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4408, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "5483:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5483:57:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4415, + "nodeType": "ExpressionStatement", + "src": "5483:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4418, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5565:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5565:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4417, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4517, + "src": "5552:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 4420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5552:24:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4416, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "5544:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5544:33:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4422, + "nodeType": "ExpressionStatement", + "src": "5544:33:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4424, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "5604:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5604:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4423, + "name": "WorkerUnsubscribe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4204, + "src": "5586:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5586:29:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4427, + "nodeType": "EmitStatement", + "src": "5581:34:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5626:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4407, + "id": 4429, + "nodeType": "Return", + "src": "5619:11:18" + } + ] + }, + "documentation": null, + "id": 4431, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unsubscribeFromPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4404, + "nodeType": "ParameterList", + "parameters": [], + "src": "5427:2:18" + }, + "payable": false, + "returnParameters": { + "id": 4407, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4406, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4431, + "src": "5447:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4405, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5447:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5446:6:18" + }, + "scope": 5819, + "src": "5399:235:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4459, + "nodeType": "Block", + "src": "5708:164:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4443, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4433, + "src": "5778:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4441, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "5748:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "evictWorker", + "nodeType": "MemberAccess", + "referencedDeclaration": 2576, + "src": "5748:29:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 4444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5748:38:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4440, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "5740:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5740:47:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4446, + "nodeType": "ExpressionStatement", + "src": "5740:47:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4449, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4433, + "src": "5812:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4448, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4517, + "src": "5799:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 4450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5799:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4447, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "5791:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5791:30:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4452, + "nodeType": "ExpressionStatement", + "src": "5791:30:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4454, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4433, + "src": "5845:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4453, + "name": "WorkerEviction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4208, + "src": "5830:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5830:23:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4456, + "nodeType": "EmitStatement", + "src": "5825:28:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5864:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4439, + "id": 4458, + "nodeType": "Return", + "src": "5857:11:18" + } + ] + }, + "documentation": null, + "id": 4460, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4436, + "modifierName": { + "argumentTypes": null, + "id": 4435, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "5682:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5682:9:18" + } + ], + "name": "evictWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4433, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4460, + "src": "5658:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5658:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5657:17:18" + }, + "payable": false, + "returnParameters": { + "id": 4439, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4438, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4460, + "src": "5701:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4437, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5701:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5700:6:18" + }, + "scope": 5819, + "src": "5637:235:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4516, + "nodeType": "Block", + "src": "5939:322:18", + "statements": [ + { + "assignments": [ + 4468 + ], + "declarations": [ + { + "constant": false, + "id": 4468, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4517, + "src": "5943:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4467, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5943:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4472, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4470, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4462, + "src": "5971:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4469, + "name": "getWorkerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4355, + "src": "5956:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 4471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5956:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5943:36:18" + }, + { + "assignments": [ + 4474 + ], + "declarations": [ + { + "constant": false, + "id": 4474, + "name": "lastWorker", + "nodeType": "VariableDeclaration", + "scope": 4517, + "src": "6017:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4473, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6017:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4482, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4475, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6038:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4481, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6069: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": 4476, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6048:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4477, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6048:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "6048: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": 4480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6048:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6038:34:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6017:55:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4483, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6076:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4485, + "indexExpression": { + "argumentTypes": null, + "id": 4484, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4468, + "src": "6090:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6076:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4486, + "name": "lastWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4474, + "src": "6104:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6076:38:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4488, + "nodeType": "ExpressionStatement", + "src": "6076:38:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4489, + "name": "m_workerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4108, + "src": "6118:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4491, + "indexExpression": { + "argumentTypes": null, + "id": 4490, + "name": "lastWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4474, + "src": "6132:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6118:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4492, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4468, + "src": "6146:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6118:33:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4494, + "nodeType": "ExpressionStatement", + "src": "6118:33:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6155:41:18", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4495, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6162:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4501, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6193: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": 4496, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6172:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4497, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6172:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "6172: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": 4500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6172:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6162:34:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4503, + "nodeType": "ExpressionStatement", + "src": "6155:41:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4504, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6200:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4506, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6200:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6240: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": 4507, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4104, + "src": "6219:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4508, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6219:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "6219: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": 4511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6219:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6200:42:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4513, + "nodeType": "ExpressionStatement", + "src": "6200:42:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6253:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4466, + "id": 4515, + "nodeType": "Return", + "src": "6246:11:18" + } + ] + }, + "documentation": null, + "id": 4517, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4463, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4462, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4517, + "src": "5897:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4461, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5897:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5896:17:18" + }, + "payable": false, + "returnParameters": { + "id": 4466, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4465, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4517, + "src": "5932:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4464, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5932:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5931:6:18" + }, + "scope": 5819, + "src": "5875:386:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4564, + "nodeType": "Block", + "src": "6537:294:18", + "statements": [ + { + "assignments": [ + 4541 + ], + "declarations": [ + { + "constant": false, + "id": 4541, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6541:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4540, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "6541:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4545, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4542, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "6580:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4544, + "indexExpression": { + "argumentTypes": null, + "id": 4543, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4519, + "src": "6592:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6580:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6541:57:18" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4546, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6614:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4547, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2752, + "src": "6614:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4548, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6639:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4549, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "6639:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4550, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6665:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4551, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2756, + "src": "6665:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4552, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6689:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4553, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2758, + "src": "6689:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4554, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6714:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4555, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2760, + "src": "6714:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4556, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6742:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4557, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "6742:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4558, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6772:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4559, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "6772:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4560, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4541, + "src": "6798:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4561, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2769, + "src": "6798:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4562, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6609:218: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": 4537, + "id": 4563, + "nodeType": "Return", + "src": "6602:225:18" + } + ] + }, + "documentation": null, + "id": 4565, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getConsensusDetails", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4520, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4519, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6293:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6293:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6292:15:18" + }, + "payable": false, + "returnParameters": { + "id": 4537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4522, + "name": "c_poolReward", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6332:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4521, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6332:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4524, + "name": "c_stakeAmount", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6356:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4523, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6356:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4526, + "name": "c_consensus", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6381:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4525, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6381:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4528, + "name": "c_revealDate", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6404:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4527, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6404:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4530, + "name": "c_revealCounter", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6428:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4529, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6428:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4532, + "name": "c_consensusTimout", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6455:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4531, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6455:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4534, + "name": "c_winnerCount", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6484:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4533, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6484:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4536, + "name": "c_workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 4565, + "src": "6509:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4535, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6509:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6328:207:18" + }, + "scope": 5819, + "src": "6264:567:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4578, + "nodeType": "Block", + "src": "6928:53:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4572, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "6939:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4574, + "indexExpression": { + "argumentTypes": null, + "id": 4573, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4567, + "src": "6951:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6939:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "id": 4575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "6939:31:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4576, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6939:38:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4571, + "id": 4577, + "nodeType": "Return", + "src": "6932:45:18" + } + ] + }, + "documentation": null, + "id": 4579, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContributorsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4567, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4579, + "src": "6864:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4566, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6864:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6863:15:18" + }, + "payable": false, + "returnParameters": { + "id": 4571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4570, + "name": "contributorsCount", + "nodeType": "VariableDeclaration", + "scope": 4579, + "src": "6900:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4569, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6900:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6899:27:18" + }, + "scope": 5819, + "src": "6834:147:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4595, + "nodeType": "Block", + "src": "7081:53:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4588, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "7092:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4590, + "indexExpression": { + "argumentTypes": null, + "id": 4589, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4581, + "src": "7104:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7092:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "id": 4591, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "7092:31:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4593, + "indexExpression": { + "argumentTypes": null, + "id": 4592, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4583, + "src": "7124:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7092:38:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4587, + "id": 4594, + "nodeType": "Return", + "src": "7085:45:18" + } + ] + }, + "documentation": null, + "id": 4596, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContributor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4581, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4596, + "src": "7008:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7008:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4583, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4596, + "src": "7023:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4582, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7023:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7007:30:18" + }, + "payable": false, + "returnParameters": { + "id": 4587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4586, + "name": "contributor", + "nodeType": "VariableDeclaration", + "scope": 4596, + "src": "7059:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4585, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7059:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7058:21:18" + }, + "scope": 5819, + "src": "6984:150:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4616, + "nodeType": "Block", + "src": "7246:94:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 4614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4605, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "7257:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 4607, + "indexExpression": { + "argumentTypes": null, + "id": 4606, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4598, + "src": "7273:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7257:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 4609, + "indexExpression": { + "argumentTypes": null, + "id": 4608, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4600, + "src": "7280:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7257:31:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 4610, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "7257:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4611, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "7299:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "7299:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 4613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "UNSET", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7299:37:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "7257:79:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4604, + "id": 4615, + "nodeType": "Return", + "src": "7250:86:18" + } + ] + }, + "documentation": null, + "id": 4617, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingContribution", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4598, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4617, + "src": "7167:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4597, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7167:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4600, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4617, + "src": "7182:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4599, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7182:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7166:32:18" + }, + "payable": false, + "returnParameters": { + "id": 4604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4603, + "name": "contributionExist", + "nodeType": "VariableDeclaration", + "scope": 4617, + "src": "7221:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4602, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7221:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7220:24:18" + }, + "scope": 5819, + "src": "7137:203:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4667, + "nodeType": "Block", + "src": "7573:337:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4638, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4619, + "src": "7606:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4639, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4621, + "src": "7613:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4637, + "name": "existingContribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4617, + "src": "7585:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 4640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7585:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4636, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "7577:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7577:45:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4642, + "nodeType": "ExpressionStatement", + "src": "7577:45:18" + }, + { + "assignments": [ + 4646 + ], + "declarations": [ + { + "constant": false, + "id": 4646, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7654:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4645, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2789, + "src": "7654:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4652, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4647, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "7699:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 4649, + "indexExpression": { + "argumentTypes": null, + "id": 4648, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4619, + "src": "7715:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7699:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 4651, + "indexExpression": { + "argumentTypes": null, + "id": 4650, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4621, + "src": "7722:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7699:31:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7654:76:18" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4653, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4646, + "src": "7746:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "7746:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4655, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4646, + "src": "7770:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4656, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2780, + "src": "7770:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4657, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4646, + "src": "7798:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultSign", + "nodeType": "MemberAccess", + "referencedDeclaration": 2782, + "src": "7798:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4659, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4646, + "src": "7826:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4660, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2784, + "src": "7826:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4661, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4646, + "src": "7860:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4662, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "score", + "nodeType": "MemberAccess", + "referencedDeclaration": 2786, + "src": "7860:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4663, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4646, + "src": "7883:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 2788, + "src": "7883:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4665, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7741:165:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_ContributionStatusEnum_$2776_$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum IexecLib.ContributionStatusEnum,bytes32,bytes32,address,uint256,uint256)" + } + }, + "functionReturnParameters": 4635, + "id": 4666, + "nodeType": "Return", + "src": "7734:172:18" + } + ] + }, + "documentation": null, + "id": 4668, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContribution", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4622, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4619, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7368:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4618, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7368:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4621, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7383:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4620, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7383:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7367:32:18" + }, + "payable": false, + "returnParameters": { + "id": 4635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4624, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7425:38:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 4623, + "name": "IexecLib.ContributionStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2776, + "src": "7425:31:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4626, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7467:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4625, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7467:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4628, + "name": "resultSign", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7489:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4627, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7489:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4630, + "name": "enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7511:24:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7511:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4632, + "name": "score", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7539:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4631, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7539:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4634, + "name": "weight", + "nodeType": "VariableDeclaration", + "scope": 4668, + "src": "7556:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4633, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7556:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7421:150:18" + }, + "scope": 5819, + "src": "7343:567:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4747, + "nodeType": "Block", + "src": "8092:618:18", + "statements": [ + { + "assignments": [ + 4680 + ], + "declarations": [ + { + "constant": false, + "id": 4680, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 4748, + "src": "8096:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8096:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4685, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4683, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4672, + "src": "8158:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4681, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3295, + "src": "8114:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 4682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 3368, + "src": "8114:43:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8114:60:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8096:78:18" + }, + { + "assignments": [ + 4687 + ], + "declarations": [ + { + "constant": false, + "id": 4687, + "name": "timeout", + "nodeType": "VariableDeclaration", + "scope": 4748, + "src": "8178:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4686, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8178:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4698, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4696, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "8283:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4693, + "name": "CONSENSUS_DURATION_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4124, + "src": "8253:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4690, + "name": "catid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4680, + "src": "8242:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4688, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "8196:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getCategoryWorkClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2514, + "src": "8196:45:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8196:52:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3587, + "src": "8196: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": 4694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8196:82:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "8196: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": 4697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8196:91:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8178:109:18" + }, + { + "assignments": [ + 4702 + ], + "declarations": [ + { + "constant": false, + "id": 4702, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4748, + "src": "8292:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4701, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "8292:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4706, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4703, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "8331:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4705, + "indexExpression": { + "argumentTypes": null, + "id": 4704, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4670, + "src": "8343:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8331:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8292:57:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4707, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4702, + "src": "8353:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4709, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2752, + "src": "8353:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4712, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4672, + "src": "8422:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4710, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3295, + "src": "8381:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 4711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderValue", + "nodeType": "MemberAccess", + "referencedDeclaration": 3354, + "src": "8381:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8381:57:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8353:85:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4715, + "nodeType": "ExpressionStatement", + "src": "8353:85:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4716, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4702, + "src": "8442:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4718, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2769, + "src": "8442:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4721, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4672, + "src": "8521:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4719, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3295, + "src": "8470:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 4720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderWorkerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3361, + "src": "8470:50:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 4722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8470:67:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8442:95:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4724, + "nodeType": "ExpressionStatement", + "src": "8442:95:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4725, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4702, + "src": "8541:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4727, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "8541:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4731, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4093, + "src": "8601:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4728, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4702, + "src": "8569:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4729, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2752, + "src": "8569:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "8569: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": 4732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8569:51:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8541:79:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4734, + "nodeType": "ExpressionStatement", + "src": "8541:79:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4735, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4702, + "src": "8624:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "8624:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4738, + "name": "timeout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4687, + "src": "8652:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8624:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4740, + "nodeType": "ExpressionStatement", + "src": "8624:35:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4742, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4670, + "src": "8685:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4741, + "name": "WorkOrderActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4148, + "src": "8669:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8669:22:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4744, + "nodeType": "EmitStatement", + "src": "8664:27:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8702:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4678, + "id": 4746, + "nodeType": "Return", + "src": "8695:11:18" + } + ] + }, + "documentation": "************************** Works management ****************************", + "id": 4748, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4675, + "modifierName": { + "argumentTypes": null, + "id": 4674, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2336, + "src": "8063:12:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "8063:12:18" + } + ], + "name": "emitWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4670, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4748, + "src": "8016:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4669, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8016:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4672, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 4748, + "src": "8031:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4671, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8031:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8015:40:18" + }, + "payable": false, + "returnParameters": { + "id": 4678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4677, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4748, + "src": "8085:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4676, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8085:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8084:6:18" + }, + "scope": 5819, + "src": "7993:717:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4827, + "nodeType": "Block", + "src": "8794:455:18", + "statements": [ + { + "assignments": [ + 4760 + ], + "declarations": [ + { + "constant": false, + "id": 4760, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4828, + "src": "8799:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4759, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "8799:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4764, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4761, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "8838:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4763, + "indexExpression": { + "argumentTypes": null, + "id": 4762, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4750, + "src": "8850:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8838:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8799:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4766, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "8868:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4767, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4760, + "src": "8874:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4768, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "8874:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8868:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4765, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "8860:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8860:40:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4771, + "nodeType": "ExpressionStatement", + "src": "8860:40:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4773, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 4828, + "src": "8904:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4772, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8904:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4774, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8904:9:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4776, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 4828, + "src": "8917:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4775, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8917:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4777, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8917:9:18" + }, + { + "body": { + "id": 4819, + "nodeType": "Block", + "src": "8984:215:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4790, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4776, + "src": "8989:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4791, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4760, + "src": "8993:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4792, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "8993:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4794, + "indexExpression": { + "argumentTypes": null, + "id": 4793, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4773, + "src": "9016:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8993:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8989:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4796, + "nodeType": "ExpressionStatement", + "src": "8989:29:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 4806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4797, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "9027:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 4799, + "indexExpression": { + "argumentTypes": null, + "id": 4798, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4750, + "src": "9043:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9027:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 4801, + "indexExpression": { + "argumentTypes": null, + "id": 4800, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4776, + "src": "9050:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9027:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 4802, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "9027:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4803, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "9063:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "9063:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 4805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "AUTHORIZED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9063:42:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "9027:78:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4818, + "nodeType": "IfStatement", + "src": "9023:172:18", + "trueBody": { + "id": 4817, + "nodeType": "Block", + "src": "9110:85:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4810, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4750, + "src": "9156:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4811, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4776, + "src": "9163:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4812, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4760, + "src": "9166:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4813, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "9166: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": 4808, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "9124:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unlockForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2634, + "src": "9124: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": 4814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9124:64:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4807, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9116:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9116:73:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4816, + "nodeType": "ExpressionStatement", + "src": "9116:73:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4782, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4773, + "src": "8942:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4783, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4760, + "src": "8946:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4784, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "8946:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4785, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8946:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8942:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4820, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 4780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4778, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4773, + "src": "8935:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8939:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8935:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4781, + "nodeType": "ExpressionStatement", + "src": "8935:5:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 4788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "8977:3:18", + "subExpression": { + "argumentTypes": null, + "id": 4787, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4773, + "src": "8979:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4789, + "nodeType": "ExpressionStatement", + "src": "8977:3:18" + }, + "nodeType": "ForStatement", + "src": "8930:269:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4822, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4750, + "src": "9224:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4821, + "name": "WorkOrderClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4152, + "src": "9207:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9207:23:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4824, + "nodeType": "EmitStatement", + "src": "9202:28:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9241:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4756, + "id": 4826, + "nodeType": "Return", + "src": "9234:11:18" + } + ] + }, + "documentation": null, + "id": 4828, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4753, + "modifierName": { + "argumentTypes": null, + "id": 4752, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2336, + "src": "8765:12:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "8765:12:18" + } + ], + "name": "claimFailedConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4750, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4828, + "src": "8743:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4749, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8743:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8742:15:18" + }, + "payable": false, + "returnParameters": { + "id": 4756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4755, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4828, + "src": "8787:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4754, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8787:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8786:6:18" + }, + "scope": 5819, + "src": "8713:536:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4867, + "nodeType": "Block", + "src": "9398:148:18", + "statements": [ + { + "body": { + "id": 4863, + "nodeType": "Block", + "src": "9447:81:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4855, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4830, + "src": "9484:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4856, + "name": "_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4833, + "src": "9491:8:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 4858, + "indexExpression": { + "argumentTypes": null, + "id": 4857, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4843, + "src": "9500:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9491:11:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4859, + "name": "_enclaveChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4835, + "src": "9504: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": 4854, + "name": "allowWorkerToContribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4973, + "src": "9460: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": 4860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9460:62:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4853, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9452:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9452:71:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4862, + "nodeType": "ExpressionStatement", + "src": "9452:71:18" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4846, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4843, + "src": "9419:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4847, + "name": "_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4833, + "src": "9423:8:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 4848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9423:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9419:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4864, + "initializationExpression": { + "assignments": [ + 4843 + ], + "declarations": [ + { + "constant": false, + "id": 4843, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 4868, + "src": "9407:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4842, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9407:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4845, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 4844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9416:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9407:10:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 4851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "9440:3:18", + "subExpression": { + "argumentTypes": null, + "id": 4850, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4843, + "src": "9442:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4852, + "nodeType": "ExpressionStatement", + "src": "9440:3:18" + }, + "nodeType": "ForStatement", + "src": "9402:126:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4865, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9538:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4841, + "id": 4866, + "nodeType": "Return", + "src": "9531:11:18" + } + ] + }, + "documentation": null, + "id": 4868, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4838, + "modifierName": { + "argumentTypes": null, + "id": 4837, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "9355:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9355:9:18" + } + ], + "name": "allowWorkersToContribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4830, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4868, + "src": "9286:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4829, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9286:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4833, + "name": "_workers", + "nodeType": "VariableDeclaration", + "scope": 4868, + "src": "9301:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + "typeName": { + "baseType": { + "id": 4831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9301:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4832, + "length": null, + "nodeType": "ArrayTypeName", + "src": "9301:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4835, + "name": "_enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 4868, + "src": "9321:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4834, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9321:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9285:62:18" + }, + "payable": false, + "returnParameters": { + "id": 4841, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4840, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4868, + "src": "9391:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4839, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9391:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9390:6:18" + }, + "scope": 5819, + "src": "9252:294:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4972, + "nodeType": "Block", + "src": "9691:744:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4883, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4870, + "src": "9713:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4882, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "9703:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 4884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9703:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 4885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 3802, + "src": "9703:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9703:27:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4887, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "9734:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "9734:28:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9734:35:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "9703:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4881, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9695:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9695:75:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4892, + "nodeType": "ExpressionStatement", + "src": "9695:75:18" + }, + { + "assignments": [ + 4896 + ], + "declarations": [ + { + "constant": false, + "id": 4896, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9774:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4895, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2789, + "src": "9774:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4902, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4897, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "9819:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 4899, + "indexExpression": { + "argumentTypes": null, + "id": 4898, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4870, + "src": "9835:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9819:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 4901, + "indexExpression": { + "argumentTypes": null, + "id": 4900, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4872, + "src": "9842:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9819:31:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9774:76:18" + }, + { + "assignments": [ + 4906 + ], + "declarations": [ + { + "constant": false, + "id": 4906, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9854:39:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4905, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "9854:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4910, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4907, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "9899:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4909, + "indexExpression": { + "argumentTypes": null, + "id": 4908, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4870, + "src": "9911:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9899:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9854:63:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4912, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "9929:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4913, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "9936:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4914, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "9936:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9929:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4911, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "9921:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9921:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4917, + "nodeType": "ExpressionStatement", + "src": "9921:41:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4919, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9967:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4918, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9967:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4920, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "9967:18:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4922, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9989:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4921, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9989:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4923, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "9989:19:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 4924, + "name": "workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4919, + "src": "10013:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4925, + "name": "workerScore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4922, + "src": "10025:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4926, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10012:25:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4929, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4872, + "src": "10074:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4927, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "10040:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getWorkerStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2543, + "src": "10040:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$_t_uint256_$", + "typeString": "function (address) view external returns (address,uint256)" + } + }, + "id": 4930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10040:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "src": "10012:70:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4932, + "nodeType": "ExpressionStatement", + "src": "10012:70:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4934, + "name": "workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4919, + "src": "10121:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4936, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6748, + "src": "10143:4:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + ], + "id": 4935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10135:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10135:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10121:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4933, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10113:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10113:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4940, + "nodeType": "ExpressionStatement", + "src": "10113:36:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 4947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4942, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4896, + "src": "10162:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4943, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "10162:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4944, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "10185:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "10185:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 4946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "UNSET", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10185:37:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "10162:60:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4941, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10154:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10154:69:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4949, + "nodeType": "ExpressionStatement", + "src": "10154:69:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4950, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4896, + "src": "10227:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4952, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "10227:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4953, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "10259:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "10259:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 4955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "AUTHORIZED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10259:42:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "10227:74:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 4957, + "nodeType": "ExpressionStatement", + "src": "10227:74:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4958, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4896, + "src": "10305:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4960, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2784, + "src": "10305:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4961, + "name": "_enclaveChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4874, + "src": "10337:17:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10305:49:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4963, + "nodeType": "ExpressionStatement", + "src": "10305:49:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4965, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4870, + "src": "10388:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4966, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4872, + "src": "10395:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4967, + "name": "workerScore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4922, + "src": "10404: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": 4964, + "name": "AllowWorkerToContribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4160, + "src": "10364:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 4968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10364:52:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4969, + "nodeType": "EmitStatement", + "src": "10359:57:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10427:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4880, + "id": 4971, + "nodeType": "Return", + "src": "10420:11:18" + } + ] + }, + "documentation": null, + "id": 4973, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4877, + "modifierName": { + "argumentTypes": null, + "id": 4876, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "9648:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9648:9:18" + } + ], + "name": "allowWorkerToContribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4870, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9582:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4869, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9582:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4872, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9597:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4871, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9597:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4874, + "name": "_enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9614:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4873, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9614:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9581:59:18" + }, + "payable": false, + "returnParameters": { + "id": 4880, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4879, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4973, + "src": "9684:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4878, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9684:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9683:6:18" + }, + "scope": 5819, + "src": "9549:886:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5133, + "nodeType": "Block", + "src": "10587:1143:18", + "statements": [ + { + "assignments": [ + 4993 + ], + "declarations": [ + { + "constant": false, + "id": 4993, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10591:39:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4992, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "10591:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4997, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4994, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "10636:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4996, + "indexExpression": { + "argumentTypes": null, + "id": 4995, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4975, + "src": "10648:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10636:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10591:63:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4999, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "10666:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5000, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4993, + "src": "10673:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5001, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "10673:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10666:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4998, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10658:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10658:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5004, + "nodeType": "ExpressionStatement", + "src": "10658:41:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 5014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5007, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4975, + "src": "10721:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5006, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "10711:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10711:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 5009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 3802, + "src": "10711:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10711:27:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5011, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "10742:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "10742:28:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10742:35:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "10711:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5005, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10703:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10703:75:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5016, + "nodeType": "ExpressionStatement", + "src": "10703:75:18" + }, + { + "assignments": [ + 5020 + ], + "declarations": [ + { + "constant": false, + "id": 5020, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10838:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5019, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2789, + "src": "10838:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5027, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5021, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "10883:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5023, + "indexExpression": { + "argumentTypes": null, + "id": 5022, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4975, + "src": "10899:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10883:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5026, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5024, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "10906:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10906:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10883:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10838:79:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5029, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "10957:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 5030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10972:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "10957:18:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5028, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10949:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10949:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5033, + "nodeType": "ExpressionStatement", + "src": "10949:27:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5035, + "name": "_resultSign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4979, + "src": "10988:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 5036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11003:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "10988:18:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5034, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "10980:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10980:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5039, + "nodeType": "ExpressionStatement", + "src": "10980:27:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5040, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11015:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5041, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2784, + "src": "11015:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5043, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11056: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": 5042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11048:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11048:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11015:43:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5063, + "nodeType": "IfStatement", + "src": "11011:197:18", + "trueBody": { + "id": 5062, + "nodeType": "Block", + "src": "11062:146:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5047, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11075:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5048, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2784, + "src": "11075:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3634", + "id": 5051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11128:34:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9835cb014a61578493d8e56753fb400073be9e8b300198bc2d66711870e6f164", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n64\"" + }, + "value": "\u0019Ethereum Signed Message:\n64" + }, + { + "argumentTypes": null, + "id": 5052, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "11164:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5053, + "name": "_resultSign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4979, + "src": "11177: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": 5050, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "11118:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11118:71:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5055, + "name": "_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4981, + "src": "11191:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 5056, + "name": "_r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4983, + "src": "11195:2:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5057, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4985, + "src": "11199: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": 5049, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6691, + "src": "11108: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": 5058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11108:94:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11075:127:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5046, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11067:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11067:136:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5061, + "nodeType": "ExpressionStatement", + "src": "11067:136:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5065, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11220:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5066, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "11220:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5067, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "11243:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "11243:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5069, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "AUTHORIZED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11243:42:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "11220:65:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5064, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11212:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11212:74:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5072, + "nodeType": "ExpressionStatement", + "src": "11212:74:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5073, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11290:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5075, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "11290:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5076, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "11316:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "11316:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CONTRIBUTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11316:43:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "11290:69:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5080, + "nodeType": "ExpressionStatement", + "src": "11290:69:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5081, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11363:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5083, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2780, + "src": "11363:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5084, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "11389:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11363:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5086, + "nodeType": "ExpressionStatement", + "src": "11363:37:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5087, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11404:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5089, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resultSign", + "nodeType": "MemberAccess", + "referencedDeclaration": 2782, + "src": "11404:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5090, + "name": "_resultSign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4979, + "src": "11430:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11404:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5092, + "nodeType": "ExpressionStatement", + "src": "11404:37:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5093, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "11445:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5095, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "score", + "nodeType": "MemberAccess", + "referencedDeclaration": 2786, + "src": "11445:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5098, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11504:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11504:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5096, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "11471:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getWorkerScore", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "11471:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 5100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11471:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11445:70:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5102, + "nodeType": "ExpressionStatement", + "src": "11445:70:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5108, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11547:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11547:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5103, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4993, + "src": "11519:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "11519:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11519:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 5110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11519:39:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5111, + "nodeType": "ExpressionStatement", + "src": "11519:39:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5115, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4975, + "src": "11601:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5116, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11608:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11608:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5118, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4993, + "src": "11620:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5119, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "11620: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": 5113, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "11571:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2623, + "src": "11571: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": 5120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11571:71:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5112, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11563: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": "11563:80:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5122, + "nodeType": "ExpressionStatement", + "src": "11563:80:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5124, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4975, + "src": "11663:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5125, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11670:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11670:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5127, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "11682: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": 5123, + "name": "Contribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4168, + "src": "11652:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 5128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11652:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5129, + "nodeType": "EmitStatement", + "src": "11647:47:18" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5130, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4993, + "src": "11705:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "11705:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4989, + "id": 5132, + "nodeType": "Return", + "src": "11698:28:18" + } + ] + }, + "documentation": null, + "id": 5134, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "contribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4986, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4975, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10458:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4974, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10458:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4977, + "name": "_resultHash", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10473:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4976, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10473:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4979, + "name": "_resultSign", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10494:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4978, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10494:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4981, + "name": "_v", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10515:8:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4980, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "10515:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4983, + "name": "_r", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10525:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4982, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10525:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4985, + "name": "_s", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10537:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4984, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10537:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10457:91:18" + }, + "payable": false, + "returnParameters": { + "id": 4989, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4988, + "name": "workerStake", + "nodeType": "VariableDeclaration", + "scope": 5134, + "src": "10565:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4987, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10565:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10564:21:18" + }, + "scope": 5819, + "src": "10438:1292:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5268, + "nodeType": "Block", + "src": "11843:1010:18", + "statements": [ + { + "assignments": [ + 5148 + ], + "declarations": [ + { + "constant": false, + "id": 5148, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5269, + "src": "11847:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5147, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "11847:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_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": 4112, + "src": "11886:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5151, + "indexExpression": { + "argumentTypes": null, + "id": 5150, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "11898:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11886:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11847:57: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": 6701, + "src": "11916: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": "11923:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "11923:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11916:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5153, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11908: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": "11908:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5159, + "nodeType": "ExpressionStatement", + "src": "11908:41:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5162, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "11971:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5161, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "11961:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11961:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 5164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startRevealingPhase", + "nodeType": "MemberAccess", + "referencedDeclaration": 3948, + "src": "11961:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$", + "typeString": "function () external returns (bool)" + } + }, + "id": 5165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11961:38:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5160, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "11953:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11953:47:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5167, + "nodeType": "ExpressionStatement", + "src": "11953:47:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5168, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12005:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5170, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "12005:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12029:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12005:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5173, + "nodeType": "ExpressionStatement", + "src": "12005:25:18" + }, + { + "body": { + "id": 5224, + "nodeType": "Block", + "src": "12094:317:18", + "statements": [ + { + "assignments": [ + 5187 + ], + "declarations": [ + { + "constant": false, + "id": 5187, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 5269, + "src": "12099:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5186, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12099:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5192, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5188, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12111:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5189, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "12111:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5191, + "indexExpression": { + "argumentTypes": null, + "id": 5190, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "12134:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12111:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12099:37:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5193, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "12150:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5195, + "indexExpression": { + "argumentTypes": null, + "id": 5194, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "12166:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12150:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5197, + "indexExpression": { + "argumentTypes": null, + "id": 5196, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5187, + "src": "12173:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12150:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5198, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2780, + "src": "12150:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5199, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5138, + "src": "12190:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12150:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5201, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "12212:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5203, + "indexExpression": { + "argumentTypes": null, + "id": 5202, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "12228:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12212:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5205, + "indexExpression": { + "argumentTypes": null, + "id": 5204, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5187, + "src": "12235:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12212:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5206, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "12212:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5207, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "12248:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "12248:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CONTRIBUTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12248:43:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "12212:79:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12150:141:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5223, + "nodeType": "IfStatement", + "src": "12141:266:18", + "trueBody": { + "id": 5222, + "nodeType": "Block", + "src": "12343:64:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5212, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12349:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5214, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "12349:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 5218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12399: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": 5215, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12373:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5216, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "12373:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "12373: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": 5219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12373:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12349:52:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5221, + "nodeType": "ExpressionStatement", + "src": "12349:52:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5178, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "12054:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5179, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12056:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "12056:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5181, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12056:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12054:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5225, + "initializationExpression": { + "assignments": [ + 5175 + ], + "declarations": [ + { + "constant": false, + "id": 5175, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5269, + "src": "12039:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5174, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12039:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5177, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12051:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12039:13:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "12087:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5183, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "12089:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5185, + "nodeType": "ExpressionStatement", + "src": "12087:3:18" + }, + "nodeType": "ForStatement", + "src": "12034:377:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5227, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12422:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5228, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "12422:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12446:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12422:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5226, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12414:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12414:34:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5232, + "nodeType": "ExpressionStatement", + "src": "12414:34:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5233, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12525:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5235, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2756, + "src": "12525:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5236, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5138, + "src": "12548:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12525:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5238, + "nodeType": "ExpressionStatement", + "src": "12525:33:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5239, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "12562:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5241, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2758, + "src": "12562:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5257, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "12751:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5254, + "name": "REVEAL_PERIOD_DURATION_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4121, + "src": "12717: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": 5247, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "12685:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5246, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "12675:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12675:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 5249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 3804, + "src": "12675:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 5250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12675:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5244, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3295, + "src": "12631:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3395", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 5245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 3368, + "src": "12631:43:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 5251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12631:80:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5242, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "12585:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getCategoryWorkClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2514, + "src": "12585:45:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 5252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12585:127:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3587, + "src": "12585: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": 5255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12585:161:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "12585: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": 5258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12585:170:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12562:193:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5260, + "nodeType": "ExpressionStatement", + "src": "12562:193:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5262, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "12816:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5263, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5138, + "src": "12823:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5261, + "name": "RevealConsensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4174, + "src": "12800:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32)" + } + }, + "id": 5264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12800:34:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5265, + "nodeType": "EmitStatement", + "src": "12795:39:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5266, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12845:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5144, + "id": 5267, + "nodeType": "Return", + "src": "12838:11:18" + } + ] + }, + "documentation": null, + "id": 5269, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5141, + "modifierName": { + "argumentTypes": null, + "id": 5140, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "11800:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "11800:9:18" + } + ], + "name": "revealConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5136, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5269, + "src": "11758:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11758:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5138, + "name": "_consensus", + "nodeType": "VariableDeclaration", + "scope": 5269, + "src": "11773:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5137, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11773:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11757:35:18" + }, + "payable": false, + "returnParameters": { + "id": 5144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5143, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5269, + "src": "11836:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5142, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11836:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11835:6:18" + }, + "scope": 5819, + "src": "11733:1120:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5390, + "nodeType": "Block", + "src": "12927:910:18", + "statements": [ + { + "assignments": [ + 5281 + ], + "declarations": [ + { + "constant": false, + "id": 5281, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5391, + "src": "12931:39:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5280, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "12931:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5285, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5282, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "12976:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5284, + "indexExpression": { + "argumentTypes": null, + "id": 5283, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5271, + "src": "12988:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12976:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12931:63:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5287, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "13006:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5288, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5281, + "src": "13013:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5289, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "13013:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13006:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5286, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "12998:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12998:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5292, + "nodeType": "ExpressionStatement", + "src": "12998:41:18" + }, + { + "assignments": [ + 5296 + ], + "declarations": [ + { + "constant": false, + "id": 5296, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 5391, + "src": "13043:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5295, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2789, + "src": "13043:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5303, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5297, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "13088:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5299, + "indexExpression": { + "argumentTypes": null, + "id": 5298, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5271, + "src": "13104:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13088:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5302, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5300, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "13111:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13111:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13088:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13043:79:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 5313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5306, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5271, + "src": "13145:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5305, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "13135:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13135:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 5308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 3802, + "src": "13135:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13135:27:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5310, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "13166:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2750, + "src": "13166:28:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2750_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13166:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2750", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "13135:69:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5304, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13127:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13127:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5315, + "nodeType": "ExpressionStatement", + "src": "13127:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5317, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5281, + "src": "13222:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5318, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2758, + "src": "13222:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 5319, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "13253:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13222:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5316, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13214:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13214:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5322, + "nodeType": "ExpressionStatement", + "src": "13214:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5324, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "13309:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5325, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "13309:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5326, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "13340:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "13340:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CONTRIBUTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13340:43:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "13309:74:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5323, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13301:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13301:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5331, + "nodeType": "ExpressionStatement", + "src": "13301:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5333, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "13396:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5334, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2780, + "src": "13396:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5335, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5281, + "src": "13427:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2756, + "src": "13427:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13396:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5332, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13388:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13388:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5339, + "nodeType": "ExpressionStatement", + "src": "13388:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5341, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "13483:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2780, + "src": "13483:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5344, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5273, + "src": "13524:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5343, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "13514:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13514:42:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13483:73:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5340, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13475:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13475:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5348, + "nodeType": "ExpressionStatement", + "src": "13475:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5350, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "13570:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultSign", + "nodeType": "MemberAccess", + "referencedDeclaration": 2782, + "src": "13570:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5353, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5273, + "src": "13611:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5355, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "13631:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13631:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5354, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "13621:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13621:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13611:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5352, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "13601:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13601:42:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13570:73:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5349, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13562:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13562:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5362, + "nodeType": "ExpressionStatement", + "src": "13562:83:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5363, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "13650:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5365, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "13650:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5366, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "13676:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "13676:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PROVED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13676:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "13650:64:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5370, + "nodeType": "ExpressionStatement", + "src": "13650:64:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5371, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5281, + "src": "13718:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5373, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2760, + "src": "13718:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 5377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13772: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": 5374, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5281, + "src": "13744:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5375, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2760, + "src": "13744:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "13744: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": 5378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13744:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13718:56:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5380, + "nodeType": "ExpressionStatement", + "src": "13718:56:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5382, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5271, + "src": "13791:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5383, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "13798:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13798:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5385, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5273, + "src": "13810: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": 5381, + "name": "Reveal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4182, + "src": "13784:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 5386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13784:34:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5387, + "nodeType": "EmitStatement", + "src": "13779:39:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13829:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5277, + "id": 5389, + "nodeType": "Return", + "src": "13822:11:18" + } + ] + }, + "documentation": null, + "id": 5391, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reveal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5274, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5271, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5391, + "src": "12872:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5270, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12872:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5273, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 5391, + "src": "12887:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5272, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12887:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12871:32:18" + }, + "payable": false, + "returnParameters": { + "id": 5277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5276, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5391, + "src": "12920:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5275, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12920:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12919:6:18" + }, + "scope": 5819, + "src": "12856:981:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5502, + "nodeType": "Block", + "src": "13921:744:18", + "statements": [ + { + "assignments": [ + 5403 + ], + "declarations": [ + { + "constant": false, + "id": 5403, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5503, + "src": "13925:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5402, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "13925:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5407, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5404, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "13964:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5406, + "indexExpression": { + "argumentTypes": null, + "id": 5405, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "13976:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13964:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13925:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5409, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "13994:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5410, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14001:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "14001:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13994:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5408, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "13986:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13986:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5414, + "nodeType": "ExpressionStatement", + "src": "13986:41:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5416, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14039:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5417, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2758, + "src": "14039:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 5418, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "14063:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14039:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5420, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14070:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5421, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2760, + "src": "14070:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14097:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14070:28:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14039:59:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5415, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14031:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14031:68:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5426, + "nodeType": "ExpressionStatement", + "src": "14031:68:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5429, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "14121:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5428, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4070, + "src": "14111:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4070_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14111:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4070", + "typeString": "contract WorkOrder" + } + }, + "id": 5431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "reActivate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3980, + "src": "14111:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$", + "typeString": "function () external returns (bool)" + } + }, + "id": 5432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14111:29:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5427, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14103:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14103:38:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5434, + "nodeType": "ExpressionStatement", + "src": "14103:38:18" + }, + { + "body": { + "id": 5476, + "nodeType": "Block", + "src": "14208:206:18", + "statements": [ + { + "assignments": [ + 5448 + ], + "declarations": [ + { + "constant": false, + "id": 5448, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 5503, + "src": "14213:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5447, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14213:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5453, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5449, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14225:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5450, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "14225:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5452, + "indexExpression": { + "argumentTypes": null, + "id": 5451, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5436, + "src": "14248:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14225:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14213:37:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5454, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "14259:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5456, + "indexExpression": { + "argumentTypes": null, + "id": 5455, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "14275:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14259:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5458, + "indexExpression": { + "argumentTypes": null, + "id": 5457, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5448, + "src": "14282:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14259:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5459, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2780, + "src": "14259:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5460, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14299:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5461, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2756, + "src": "14299:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "14259:59:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5475, + "nodeType": "IfStatement", + "src": "14255:155:18", + "trueBody": { + "id": 5474, + "nodeType": "Block", + "src": "14323:87:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5463, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "14329:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5466, + "indexExpression": { + "argumentTypes": null, + "id": 5464, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "14345:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14329:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5467, + "indexExpression": { + "argumentTypes": null, + "id": 5465, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5448, + "src": "14352:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14329:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5468, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "14329:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5469, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "14364:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "14364:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REJECTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14364:40:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "14329:75:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5473, + "nodeType": "ExpressionStatement", + "src": "14329:75:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5439, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5436, + "src": "14166:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5440, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14170:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5441, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "14170:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5442, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14170:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14166:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5477, + "initializationExpression": { + "assignments": [ + 5436 + ], + "declarations": [ + { + "constant": false, + "id": 5436, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5503, + "src": "14151:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14151:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5438, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14163:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14151:13:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "14201:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5444, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5436, + "src": "14203:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5446, + "nodeType": "ExpressionStatement", + "src": "14201:3:18" + }, + "nodeType": "ForStatement", + "src": "14146:268:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5478, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14539:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5480, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "14539:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14563:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14539:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5483, + "nodeType": "ExpressionStatement", + "src": "14539:25:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5484, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14568:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2756, + "src": "14568:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "307830", + "id": 5487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14592:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "14568:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5489, + "nodeType": "ExpressionStatement", + "src": "14568:27:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5490, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5403, + "src": "14599:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5492, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2758, + "src": "14599:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14623:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14599:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5495, + "nodeType": "ExpressionStatement", + "src": "14599:25:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5497, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "14640:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5496, + "name": "Reopen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4186, + "src": "14633:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14633:13:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5499, + "nodeType": "EmitStatement", + "src": "14628:18:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14657:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5399, + "id": 5501, + "nodeType": "Return", + "src": "14650:11:18" + } + ] + }, + "documentation": null, + "id": 5503, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5396, + "modifierName": { + "argumentTypes": null, + "id": 5395, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "13878:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "13878:9:18" + } + ], + "name": "reopen", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5393, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5503, + "src": "13856:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5392, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13856:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13855:15:18" + }, + "payable": false, + "returnParameters": { + "id": 5399, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5398, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5503, + "src": "13914:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5397, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13914:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13913:6:18" + }, + "scope": 5819, + "src": "13840:825:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5579, + "nodeType": "Block", + "src": "14902:558:18", + "statements": [ + { + "assignments": [ + 5521 + ], + "declarations": [ + { + "constant": false, + "id": 5521, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5580, + "src": "14906:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5520, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "14906:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5525, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5522, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4112, + "src": "14945:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2770_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5524, + "indexExpression": { + "argumentTypes": null, + "id": 5523, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5505, + "src": "14957:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14945:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14906:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5527, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "14975:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5528, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "14982:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5529, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2762, + "src": "14982:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14975:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5526, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "14967:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14967:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5532, + "nodeType": "ExpressionStatement", + "src": "14967:41:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5534, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "15021:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5535, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2758, + "src": "15021:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 5536, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "15045:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15021:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5538, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "15052:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5539, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2760, + "src": "15052:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15078:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15052:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15021:58:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5543, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15020:60:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5544, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "15085:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5545, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2760, + "src": "15085:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5546, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "15112:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5547, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2764, + "src": "15112:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15085:48:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5549, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15084:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15020:114:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5533, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "15012:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15012:123:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5552, + "nodeType": "ExpressionStatement", + "src": "15012:123:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5555, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5505, + "src": "15294:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5556, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "15301:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + ], + "id": 5554, + "name": "distributeRewards", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "15276:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_Consensus_$2770_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,struct IexecLib.Consensus memory) returns (bool)" + } + }, + "id": 5557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15276:35:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5553, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "15268:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15268:44:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5559, + "nodeType": "ExpressionStatement", + "src": "15268:44:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5563, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5505, + "src": "15361:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5564, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5507, + "src": "15368:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5565, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5509, + "src": "15377:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5566, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5511, + "src": "15386: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": 5561, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "15325:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "finalizeWorkOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2507, + "src": "15325: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": 5567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15325:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5560, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "15317:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15317:75:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5569, + "nodeType": "ExpressionStatement", + "src": "15317:75:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5571, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5505, + "src": "15414:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5572, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5507, + "src": "15420:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5573, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5509, + "src": "15428:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5574, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5511, + "src": "15436: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": 5570, + "name": "FinalizeWork", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4196, + "src": "15401: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": 5575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15401:40:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5576, + "nodeType": "EmitStatement", + "src": "15396:45:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15452:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5517, + "id": 5578, + "nodeType": "Return", + "src": "15445:11:18" + } + ] + }, + "documentation": null, + "id": 5580, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5514, + "modifierName": { + "argumentTypes": null, + "id": 5513, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "14859:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "14859:9:18" + } + ], + "name": "finalizeWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5505, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5580, + "src": "14792:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5504, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14792:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5507, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 5580, + "src": "14807:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 5506, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14807:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5509, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 5580, + "src": "14823:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 5508, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14823:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5511, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 5580, + "src": "14839:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 5510, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14839:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14791:60:18" + }, + "payable": false, + "returnParameters": { + "id": 5517, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5516, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5580, + "src": "14895:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5515, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14895:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14894:6:18" + }, + "scope": 5819, + "src": "14770:690:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5817, + "nodeType": "Block", + "src": "15561:1875:18", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5590, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15565:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5589, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15565:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5591, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15565:9:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5593, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15578:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15578:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5594, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15578:9:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5596, + "name": "workerBonus", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15591:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15591:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5597, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15591:19:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5599, + "name": "workerWeight", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15614:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5598, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15614:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5600, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15614:20:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5602, + "name": "totalWeight", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15638:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5601, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15638:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5603, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15638:19:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5605, + "name": "workerReward", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15661:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5604, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15661:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5606, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15661:20:18" + }, + { + "assignments": [ + 5608 + ], + "declarations": [ + { + "constant": false, + "id": 5608, + "name": "totalReward", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15685:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15685:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5611, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5609, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "15707:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5610, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2752, + "src": "15707:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15685:43:18" + }, + { + "assignments": [ + 5615 + ], + "declarations": [ + { + "constant": false, + "id": 5615, + "name": "contributors", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15732:29:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + "typeName": { + "baseType": { + "id": 5613, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15732:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5614, + "length": null, + "nodeType": "ArrayTypeName", + "src": "15732:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5618, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5616, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "15764:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5617, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2767, + "src": "15764:23:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15732:55:18" + }, + { + "body": { + "id": 5701, + "nodeType": "Block", + "src": "15833:590:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5630, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "15838:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5631, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5615, + "src": "15842:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5633, + "indexExpression": { + "argumentTypes": null, + "id": 5632, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "15855:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15842:15:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15838:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5635, + "nodeType": "ExpressionStatement", + "src": "15838:19:18" + }, + { + "assignments": [ + 5639 + ], + "declarations": [ + { + "constant": false, + "id": 5639, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15862:31:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5638, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2789, + "src": "15862:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5645, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5640, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "15896:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5642, + "indexExpression": { + "argumentTypes": null, + "id": 5641, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "15912:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15896:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5644, + "indexExpression": { + "argumentTypes": null, + "id": 5643, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "15919:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15896:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15862:59:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5646, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5639, + "src": "15930:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5647, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "15930:8:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5648, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "15942:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "15942:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PROVED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15942:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "15930:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5699, + "nodeType": "Block", + "src": "16354:65:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5691, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "16360:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5694, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "16390:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5695, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "16390:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5692, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "16374:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "16374: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": 5696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16374:39:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16360:53:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5698, + "nodeType": "ExpressionStatement", + "src": "16360:53:18" + } + ] + }, + "id": 5700, + "nodeType": "IfStatement", + "src": "15926:493:18", + "trueBody": { + "id": 5690, + "nodeType": "Block", + "src": "15985:271:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5652, + "name": "workerBonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5596, + "src": "15991: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": 5658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5653, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5639, + "src": "16007:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2784, + "src": "16007:18:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16037: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": 5655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16029:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16029:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16007:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5659, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16006:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16047:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "id": 5662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "16006:42:18", + "trueExpression": { + "argumentTypes": null, + "hexValue": "33", + "id": 5660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16043:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "15991:57:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5664, + "nodeType": "ExpressionStatement", + "src": "15991:57:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5665, + "name": "workerWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5599, + "src": "16079:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5666, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16094: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": 5670, + "name": "workerBonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5596, + "src": "16110:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5667, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5639, + "src": "16098:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5668, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "score", + "nodeType": "MemberAccess", + "referencedDeclaration": 2786, + "src": "16098:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3587, + "src": "16098: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": 5671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16098:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "log", + "nodeType": "MemberAccess", + "referencedDeclaration": 3684, + "src": "16098:28:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 5673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16098:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16094:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16079:49:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5676, + "nodeType": "ExpressionStatement", + "src": "16079:49:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5677, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5602, + "src": "16134:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5680, + "name": "workerWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5599, + "src": "16165:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5678, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5602, + "src": "16149:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "16149: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": 5681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16149:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16134:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5683, + "nodeType": "ExpressionStatement", + "src": "16134:44:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5684, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5639, + "src": "16184:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5686, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 2788, + "src": "16184:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5687, + "name": "workerWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5599, + "src": "16199:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16184:27:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5689, + "nodeType": "ExpressionStatement", + "src": "16184:27:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5623, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "15803:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5624, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5615, + "src": "15805:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15805:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15803:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5702, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 5621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5619, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "15796:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15800:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15796:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5622, + "nodeType": "ExpressionStatement", + "src": "15796:5:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "15826:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5627, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "15828:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5629, + "nodeType": "ExpressionStatement", + "src": "15826:3:18" + }, + "nodeType": "ForStatement", + "src": "15791:632:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5704, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5602, + "src": "16434:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16448:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16434:15:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5703, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "16426:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16426:24:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5708, + "nodeType": "ExpressionStatement", + "src": "16426:24:18" + }, + { + "assignments": [ + 5710 + ], + "declarations": [ + { + "constant": false, + "id": 5710, + "name": "workersReward", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "16501:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5709, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16501:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5720, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5717, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4095, + "src": "16565:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "313030", + "id": 5714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16556: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": 5713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16548:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 5715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16548:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "16548: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": 5718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16548:46:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5711, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "16525:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3675, + "src": "16525: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": 5719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16525:70:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16501:94:18" + }, + { + "body": { + "id": 5802, + "nodeType": "Block", + "src": "16642:626:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5732, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "16647:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5733, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5615, + "src": "16651:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5735, + "indexExpression": { + "argumentTypes": null, + "id": 5734, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "16664:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16651:15:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16647:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5737, + "nodeType": "ExpressionStatement", + "src": "16647:19:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5738, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "16675:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5740, + "indexExpression": { + "argumentTypes": null, + "id": 5739, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "16691:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16675:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5742, + "indexExpression": { + "argumentTypes": null, + "id": 5741, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "16698:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16675:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5743, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2778, + "src": "16675:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5744, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "16711:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2809_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2776, + "src": "16711:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2776_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PROVED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16711:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2776", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "16675:74:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5800, + "nodeType": "Block", + "src": "17156:108:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5792, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "17201:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5793, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "17208:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5794, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "17211:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5795, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "17211:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17235: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": 5790, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "17170:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "seizeForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2660, + "src": "17170: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": 5797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17170:70:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5789, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "17162:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17162:79:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5799, + "nodeType": "ExpressionStatement", + "src": "17162:79:18" + } + ] + }, + "id": 5801, + "nodeType": "IfStatement", + "src": "16671:593:18", + "trueBody": { + "id": 5788, + "nodeType": "Block", + "src": "16754:307:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5748, + "name": "workerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5605, + "src": "16760:12: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": 5751, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "16803:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5753, + "indexExpression": { + "argumentTypes": null, + "id": 5752, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "16819:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16803:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2789_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5755, + "indexExpression": { + "argumentTypes": null, + "id": 5754, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "16826:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16803:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2789_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5756, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 2788, + "src": "16803:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5757, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5602, + "src": "16837:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5749, + "name": "workersReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5710, + "src": "16775:13:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mulByFraction", + "nodeType": "MemberAccess", + "referencedDeclaration": 3659, + "src": "16775:27: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": 5758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16775:74:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16760:89:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5760, + "nodeType": "ExpressionStatement", + "src": "16760:89:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5761, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "16855:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5764, + "name": "workerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5605, + "src": "16886:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5762, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "16870:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3554, + "src": "16870: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": 5765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16870:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16855:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5767, + "nodeType": "ExpressionStatement", + "src": "16855:44:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5771, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "16945:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5772, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "16952:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5773, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "16955:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5774, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "16955: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": 5769, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "16913:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unlockForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2634, + "src": "16913: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": 5775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16913:65:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5768, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "16905:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16905:74:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5777, + "nodeType": "ExpressionStatement", + "src": "16905:74:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5781, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "17025:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5782, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "17032:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5783, + "name": "workerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5605, + "src": "17035:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17049: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": 5779, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "16993:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2647, + "src": "16993: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": 5785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16993:61:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5778, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "16985:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16985:70:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5787, + "nodeType": "ExpressionStatement", + "src": "16985:70:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5725, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "16612:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5726, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5615, + "src": "16614:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16614:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16612:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5803, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 5723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5721, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "16605:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16609:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16605:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5724, + "nodeType": "ExpressionStatement", + "src": "16605:5:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "16635:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5729, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "16637:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5731, + "nodeType": "ExpressionStatement", + "src": "16635:3:18" + }, + "nodeType": "ForStatement", + "src": "16600:668:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5807, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "17361:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5808, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "17368:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5809, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2769, + "src": "17368:26:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5810, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5608, + "src": "17396:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17409: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": 5805, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2325, + "src": "17329:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2720", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2647, + "src": "17329: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": 5812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17329:86:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5804, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "17321:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17321:95:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5814, + "nodeType": "ExpressionStatement", + "src": "17321:95:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17428:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5588, + "id": 5816, + "nodeType": "Return", + "src": "17421:11:18" + } + ] + }, + "documentation": null, + "id": 5818, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "distributeRewards", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5585, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5582, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15490:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5581, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15490:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5584, + "name": "_consensus", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15505:29:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + }, + "typeName": { + "contractScope": null, + "id": 5583, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2770, + "src": "15505:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2770_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15489:46:18" + }, + "payable": false, + "returnParameters": { + "id": 5588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5587, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "15554:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5586, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15554:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15553:6:18" + }, + "scope": 5819, + "src": "15463:1973:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 5820, + "src": "253:17186:18" + } + ], + "src": "0:17440:18" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T18:32:30.799Z" +} \ No newline at end of file diff --git a/build/contracts/WorkerPoolHub.json b/build/contracts/WorkerPoolHub.json new file mode 100644 index 00000000..9bec4c5a --- /dev/null +++ b/build/contracts/WorkerPoolHub.json @@ -0,0 +1,5735 @@ +{ + "contractName": "WorkerPoolHub", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "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": "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": "_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": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a03199091161790556135768061003b6000396000f3006060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301a08a8b811461009d5780630b00de8d146100db5780631884c51714610114578063215bd3031461013957806368c197dd1461016d57806369bee8a11461018c578063d440c6f3146101bd578063deff41c1146101dc578063f2fde38b146101ef575b600080fd5b34156100a857600080fd5b6100bf600160a060020a0360043516602435610210565b604051600160a060020a03909116815260200160405180910390f35b34156100e657600080fd5b610100600160a060020a0360043581169060243516610238565b604051901515815260200160405180910390f35b341561011f57600080fd5b610100600160a060020a03600435811690602435166102b8565b341561014457600080fd5b6100bf602460048035828101929101359035604435606435600160a060020a036084351661033c565b341561017857600080fd5b610100600160a060020a03600435166103e7565b341561019757600080fd5b6101ab600160a060020a0360043516610405565b60405190815260200160405180910390f35b34156101c857600080fd5b6100bf600160a060020a0360043516610420565b34156101e757600080fd5b6100bf61043e565b34156101fa57600080fd5b61020e600160a060020a036004351661044d565b005b600160a060020a03918216600090815260036020908152604080832093835292905220541690565b6000805433600160a060020a0390811691161461025457600080fd5b600160a060020a0382811660009081526001602052604090205481169084161461027d57600080fd5b50600160a060020a03166000908152600160208190526040909120805473ffffffffffffffffffffffffffffffffffffffff19169055919050565b6000805433600160a060020a039081169116146102d457600080fd5b600160a060020a0382811660009081526001602052604090205416156102f957600080fd5b50600160a060020a039081166000908152600160208190526040909120805473ffffffffffffffffffffffffffffffffffffffff19169390921692909217905590565b60008054819033600160a060020a0390811691161461035a57600080fd5b33888888888888610369610591565b600160a060020a038089168252604082018690526060820185905260808201849052821660a082015260c06020820181815290820187905260e08201888880828437820191505098505050505050505050604051809103906000f08015156103d057600080fd5b90506103dc32826104e8565b979650505050505050565b600160a060020a031660009081526004602052604090205460ff1690565b600160a060020a031660009081526002602052604090205490565b600160a060020a039081166000908152600160205260409020541690565b600054600160a060020a031681565b60005433600160a060020a0390811691161461046857600080fd5b600160a060020a038116151561047d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03821660009081526002602052604081205461051290600163ffffffff61057b16565b600160a060020a03938416600090815260026020908152604080832084905560038252808320938352928152828220805473ffffffffffffffffffffffffffffffffffffffff19169590961694851790955592835260049093525020805460ff19166001179055565b60008282018381101561058a57fe5b9392505050565b604051612fa9806105a2833901905600606060405234156200001057600080fd5b60405162002fa938038062002fa9833981016040528080519190602001805182019190602001805191906020018051919060200180519190602001805160008054600160a060020a03191633600160a060020a03908116919091179091559092508291508790811615156200008457600080fd5b60018054600160a060020a03928316600160a060020a0319918216811790925560028054909116909117905581161515620000be57600080fd5b60038054600160a060020a03928316600160a060020a03199182168117909255600480549091169091179055328116339091161415620000fd57600080fd5b6200011632640100000000620021c96200016682021704565b60058580516200012b929160200190620001f6565b5050601e6006556001600755600892909255600955600a555050600f8054600160a060020a03191633600160a060020a03161790556200029b565b60005433600160a060020a039081169116146200018257600080fd5b600160a060020a03811615156200019857600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023957805160ff191683800117855562000269565b8280016001018555821562000269579182015b82811115620002695782518255916020019190600101906200024c565b50620002779291506200027b565b5090565b6200029891905b8082111562000277576000815560010162000282565b90565b612cfe80620002ab6000396000f3006060604052600436106101a85763ffffffff60e060020a600035041663031ee1c881146101ad57806306021e7e146101f05780630c6e29e3146102e7578063126eac43146102fa57806316ebf77d1461036e5780631f1e7406146103905780632b8fd18a146103fe5780633ec6a4c41461043057806340f036051461044f57806341cb01ad1461047457806345b99d28146104935780635a628525146104a65780636ab6936a146104c85780637919233f146104db5780637bd220bb146104fd5780637c60988514610522578063835436b41461058a57806387639c68146105a957806389869163146105bc5780638d7db2f7146105db578063900b7b6214610665578063b32ca9c51461067b578063bb7fb08b1461068e578063c6c5b072146106b0578063c6ced32b146106c3578063cc6f06a3146106d6578063dc988b40146106e9578063deff41c114610714578063e2d36ef514610727578063e653ec6a1461073a578063ec1847b61461074d578063ef9cb4741461076c578063f20e56ec1461078d578063f2fde38b146107a0578063f4efa24c146107bf578063ff266d26146107de575b600080fd5b34156101b857600080fd5b6101de600160a060020a036004351660243560443560ff6064351660843560a4356107fd565b60405190815260200160405180910390f35b34156101fb57600080fd5b6102d360048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610b5b95505050505050565b604051901515815260200160405180910390f35b34156102f257600080fd5b6102d3610ffe565b341561030557600080fd5b61031f600160a060020a036004358116906024351661110b565b6040518087600481111561032f57fe5b60ff168152602081019690965250604080860194909452600160a060020a039092166060850152608084015260a083015260c090910191505180910390f35b341561037957600080fd5b6102d3600160a060020a0360043516602435611187565b341561039b57600080fd5b6103af600160a060020a0360043516611490565b60405197885260208801969096526040808801959095526060870193909352608086019190915260a085015260c0840152600160a060020a0390911660e0830152610100909101905180910390f35b341561040957600080fd5b6104146004356114dc565b604051600160a060020a03909116815260200160405180910390f35b341561043b57600080fd5b6101de600160a060020a0360043516611504565b341561045a57600080fd5b6102d3600160a060020a0360043581169060243516611522565b341561047f57600080fd5b6101de600160a060020a0360043516611562565b341561049e57600080fd5b6101de611574565b34156104b157600080fd5b6102d3600160a060020a0360043516602435611579565b34156104d357600080fd5b6101de611754565b34156104e657600080fd5b6102d3600160a060020a036004351660243561175a565b341561050857600080fd5b61031f600160a060020a036004358116906024351661198a565b341561052d57600080fd5b6102d360048035600160a060020a031690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a031692506119d8915050565b341561059557600080fd5b6102d3600160a060020a0360043516611a41565b34156105b457600080fd5b6101de611b21565b34156105c757600080fd5b6102d3600160a060020a0360043516611b27565b34156105e657600080fd5b6105ee611cc4565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561062a578082015183820152602001610612565b50505050905090810190601f1680156106575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561067057600080fd5b610414600435611d62565b341561068657600080fd5b610414611d8e565b341561069957600080fd5b610414600160a060020a0360043516602435611d9d565b34156106bb57600080fd5b6101de611de0565b34156106ce57600080fd5b6101de611de6565b34156106e157600080fd5b6101de611ded565b34156106f457600080fd5b6102d3600160a060020a0360043581169060243581169060443516611df3565b341561071f57600080fd5b610414611fe6565b341561073257600080fd5b6101de611ff5565b341561074557600080fd5b6102d3611ffb565b341561075857600080fd5b6101de600160a060020a03600435166120c0565b341561077757600080fd5b61078b600435602435604435606435612110565b005b341561079857600080fd5b6101de6121c4565b34156107ab57600080fd5b61078b600160a060020a03600435166121c9565b34156107ca57600080fd5b6103af600160a060020a0360043516612257565b34156107e957600080fd5b6102d3600160a060020a03600435166122a9565b600160a060020a0386166000908152600d602052604081206005810154829042111561082857600080fd5b600189600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561086757600080fd5b5af1151561087457600080fd5b50505060405180519050600481111561088957fe5b1461089357600080fd5b50600160a060020a038089166000908152600e60209081526040808320339094168352929052208715156108c657600080fd5b8615156108d257600080fd5b6003810154600160a060020a0316156109a157600188886040517f19457468657265756d205369676e6564204d6573736167653a0a3634000000008152601c810192909252603c820152605c0160405180910390208787876040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af1151561097c57600080fd5b5050602060405103516003820154600160a060020a039081169116146109a157600080fd5b6001815460ff1660048111156109b357fe5b146109bd57600080fd5b805460ff1916600290811782556001820189905580820188905554600160a060020a0316638c0f8e113360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610a2557600080fd5b5af11515610a3257600080fd5b505050604051805160048301555060078201805460018101610a548382612c7d565b5060009182526020909120018054600160a060020a03191633600160a060020a03818116929092179092556002546001850154911691638981d077918c919060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610ae257600080fd5b5af11515610aef57600080fd5b505050604051805190501515610b0457600080fd5b33600160a060020a031689600160a060020a03167f1593a9a000265660fd299c9f8c9bbacfeb4d428861542e6c44b68615324225d48a60405190815260200160405180910390a35060010154979650505050505050565b60008054819033600160a060020a03908116911614610b7957600080fd5b50600160a060020a0385166000908152600d602052604090206005810154421115610ba357600080fd5b42816003015411158015610bbb575060008160040154115b80610bcd575080600601548160040154145b1515610bd857600080fd5b610cb48682610120604051908101604052908160008201548152602001600182015481526020016002820154600019166000191681526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201805480602002602001604051908101604052809291908181526020018280548015610c9157602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610c73575b505050918352505060089190910154600160a060020a031660209091015261246b565b1515610cbf57600080fd5b600254600160a060020a031663b6b57ebd878787876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610d43578082015183820152602001610d2b565b50505050905090810190601f168015610d705780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610da6578082015183820152602001610d8e565b50505050905090810190601f168015610dd35780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610e09578082015183820152602001610df1565b50505050905090810190601f168015610e365780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610e5957600080fd5b5af11515610e6657600080fd5b505050604051805190501515610e7b57600080fd5b85600160a060020a03167f4bfecaabd22e1b95e9aa9eb161b19f645b3460e7533d5e0f6349faf8dc0a724486868660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610eee578082015183820152602001610ed6565b50505050905090810190601f168015610f1b5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610f51578082015183820152602001610f39565b50505050905090810190601f168015610f7e5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610fb4578082015183820152602001610f9c565b50505050905090810190601f168015610fe15780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250600195945050505050565b6002546000908190600160a060020a031663b218cf153360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561105357600080fd5b5af1151561106057600080fd5b50505060405180519050151561107557600080fd5b600b8054600181016110878382612c7d565b60009283526020909220018054600160a060020a03191633600160a060020a031617905590506110b88160016128e0565b600160a060020a0333166000818152600c60205260409081902092909255907f67799bb3ec4a3491a0c1c4e6d02ec99927df7ba7fa268c216672c0c5ecc1e8f8905160405180910390a2600191505b5090565b60008060008060008060006111208989611522565b151561112b57600080fd5b50505050600160a060020a039485166000908152600e602090815260408083209688168352959052939093208054600182015460028301546003840154600485015460059095015460ff90941699929891975016945091925090565b6000805481908190819033600160a060020a039081169116146111a957600080fd5b600160a060020a0386166000908152600d6020526040902060058101549093504211156111d557600080fd5b85600160a060020a0316632d4d671f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561121257600080fd5b5af1151561121f57600080fd5b50505060405180519050151561123457600080fd5b60006006840181905591505b6007830154821015611300576007830180548390811061125c57fe5b6000918252602080832090910154600160a060020a038981168452600e8352604080852091909216808552925290912060010154909150851480156112d457506002600160a060020a038088166000908152600e602090815260408083209386168352929052205460ff1660048111156112d257fe5b145b156112f55760068301546112ef90600163ffffffff6128f216565b60068401555b816001019150611240565b60068301546000901161131257600080fd5b6002808401869055805460045461144292429261143692600160a060020a0391821691631f87172691811690634cfddcfb908e1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561137957600080fd5b5af1151561138657600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156113c657600080fd5b5af115156113d357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561141357600080fd5b5af1151561142057600080fd5b505050604051805191905063ffffffff61290c16565b9063ffffffff6128f216565b6003840155600160a060020a0386167fa1b9f527f9799a46d54103401c99dc62f3744afe1d095a1c53620758dc38b2868660405190815260200160405180910390a250600195945050505050565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600890970154959694959394929391929091600160a060020a031688565b600b8054829081106114ea57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03166000908152600d602052604090206007015490565b600080600160a060020a038085166000908152600e602090815260408083209387168352929052205460ff16600481111561155957fe5b14159392505050565b600c6020526000908152604090205481565b600a81565b600160a060020a0382166000908152600d60205260408120600581015482904211156115a457600080fd5b50600160a060020a038085166000908152600e6020908152604080832033909416835292905220600285600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561160a57600080fd5b5af1151561161757600080fd5b50505060405180519050600481111561162c57fe5b1461163657600080fd5b600382015442901161164757600080fd5b6002815460ff16600481111561165957fe5b1461166357600080fd5b600282015460018201541461167757600080fd5b8360405190815260200160405190819003902060018201541461169957600080fd5b33604051600160a060020a03919091166c01000000000000000000000000028152601401604051809103902084186040519081526020016040519081900390206002820154146116e857600080fd5b805460ff1916600317815560048201546117039060016128f2565b6004830155600160a060020a033381169086167f4f5df7005a83b6f11e90ead1268eb534656169a5034e8d239c763471294be3d58660405190815260200160405180910390a3506001949350505050565b60095481565b60015460009081908190819033600160a060020a0390811691161461177e57600080fd5b600454600160a060020a0316634cfddcfb8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156117c657600080fd5b5af115156117d357600080fd5b50505060405180516002549094506118349150429061143690600a90600160a060020a0316631f8717268860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561141357600080fd5b600160a060020a038088166000908152600d60205260409081902060045493955093509116906338c4090b9087905160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561189657600080fd5b5af115156118a357600080fd5b5050506040518051825550600454600160a060020a03166355d66c3e8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156118f657600080fd5b5af1151561190357600080fd5b5050506040518051600883018054600160a060020a031916600160a060020a039290921691909117905550600654815461193c91612937565b600182015560058101829055600160a060020a0386167f9c081174ce28e85a62530b1102b0df58428b8da5027e81fbb4984aa1dc03310760405160405180910390a250600195945050505050565b600e60209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460059095015460ff9094169492939192600160a060020a039091169186565b60008054819033600160a060020a039081169116146119f657600080fd5b5060005b8351811015611a3657611a2385858381518110611a1357fe5b9060200190602002015185611df3565b1515611a2e57600080fd5b6001016119fa565b506001949350505050565b6000805433600160a060020a03908116911614611a5d57600080fd5b600254600160a060020a031663835436b48360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611aad57600080fd5b5af11515611aba57600080fd5b505050604051805190501515611acf57600080fd5b611ad88261294c565b1515611ae357600080fd5b81600160a060020a03167fb22288215ec8cbd28148d7ffa053c6e6e23c62b58d0eb71a6387b59fad33a01960405160405180910390a2506001919050565b60075481565b60015460009081908190819033600160a060020a03908116911614611b4b57600080fd5b600160a060020a0385166000908152600d6020526040902060058101549093504211611b7657600080fd5b600091505b6007830154821015611c835760078301805483908110611b9757fe5b600091825260209091200154600160a060020a031690506001600160a060020a038087166000908152600e602090815260408083209386168352929052205460ff166004811115611be457fe5b14611c78576002546001840154600160a060020a0390911690636b4f6865908790849060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611c5657600080fd5b5af11515611c6357600080fd5b505050604051805190501515611c7857600080fd5b816001019150611b7b565b84600160a060020a03167f8d8d47a5d5034ce9c01a2308543fdaa83d60863e4b735b7d57361987cdc8ed9460405160405180910390a2506001949350505050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d5a5780601f10611d2f57610100808354040283529160200191611d5a565b820191906000526020600020905b815481529060010190602001808311611d3d57829003601f168201915b505050505081565b6000600b82815481101515611d7357fe5b600091825260209091200154600160a060020a031692915050565b600f54600160a060020a031681565b600160a060020a0382166000908152600d60205260408120600701805483908110611dc457fe5b600091825260209091200154600160a060020a03169392505050565b60065481565b600b545b90565b600a5481565b60008054819081908190819033600160a060020a03908116911614611e1757600080fd5b600188600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611e5657600080fd5b5af11515611e6357600080fd5b505050604051805190506004811115611e7857fe5b14611e8257600080fd5b600160a060020a038089166000818152600e60209081526040808320948c168352938152838220928252600d90529190912060058101549195509350421115611eca57600080fd5b600254600160a060020a031663f69f190c8860405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b1515611f1957600080fd5b5af11515611f2657600080fd5b50505060405180519060200180519193509091505030600160a060020a0390811690831614611f5457600080fd5b6000845460ff166004811115611f6657fe5b14611f7057600080fd5b835460ff19166001178455600384018054600160a060020a03888116600160a060020a0319909216919091179091558781169089167f9cade22a92ceb705fefd1c03e9ac4dbbf787cd493ec63a9f2b078cbc859c06298360405190815260200160405180910390a3506001979650505050505050565b600054600160a060020a031681565b60085481565b600254600090600160a060020a0316631708d7253360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561204e57600080fd5b5af1151561205b57600080fd5b50505060405180519050151561207057600080fd5b6120793361294c565b151561208457600080fd5b33600160a060020a03167fd08d61a9c25ada3385d23554bae10e5d15c9518d4bfd27571c190558f7030f6e60405160405180910390a250600190565b600160a060020a0381166000818152600c6020526040812054600b805492939192839081106120eb57fe5b600091825260209091200154600160a060020a03161461210a57600080fd5b92915050565b60005433600160a060020a0390811691161461212b57600080fd5b7f52bb55d3097463659f724f9b420d259719787a8563b48eb82368680999bfea07600654856007548660095487600a5488604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a160648311156121b057600080fd5b600693909355600791909155600955600a55565b600281565b60005433600160a060020a039081169116146121e457600080fd5b600160a060020a03811615156121f957600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b600160a060020a039081166000908152600d6020526040902080546001820154600283015460038401546004850154600586015460068701546008909701549598949793969295919490939190911690565b6000805481908190819033600160a060020a039081169116146122cb57600080fd5b600160a060020a0385166000908152600d6020526040902060058101549093504211156122f757600080fd5b4283600301541115801561230d57506004830154155b151561231857600080fd5b84600160a060020a0316631a514d976040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561235557600080fd5b5af1151561236257600080fd5b50505060405180519050151561237757600080fd5b600091505b6007830154821015612415576007830180548390811061239857fe5b60009182526020808320909101546002860154600160a060020a038981168552600e84526040808620919093168086529352922060010154909250141561240a57600160a060020a038581166000908152600e60209081526040808320938516835292905220805460ff191660041790555b81600101915061237c565b600060068401819055600284018190556003840155600160a060020a0385167f631055693b4cbe13143279bc507432c42de858b6d04b3ba4e1ff3d2c88a7e52b60405160405180910390a2506001949350505050565b60008060008060008060008061247f612ca6565b6000808b5193508b60e001519250600099505b82518a101561257b57828a815181106124a757fe5b90602001906020020151600160a060020a03808f166000908152600e6020908152604080832093851683529290522090995091506003825460ff1660048111156124ed57fe5b1415612558576003820154600160a060020a0316151561250e576001612511565b60035b60ff16975061253561253089846004015461290c90919063ffffffff16565b612a30565b600101965061254a868863ffffffff6128f216565b600583018890559550612570565b61256d8c60200151859063ffffffff6128f216565b93505b896001019950612492565b6000861161258857600080fd5b6125ae6125a160075460646128e090919063ffffffff16565b859063ffffffff61293716565b9050600099505b82518a101561283c57828a815181106125ca57fe5b9060200190602002015198506003600160a060020a03808f166000908152600e60209081526040808320938e168352929052205460ff16600481111561260c57fe5b141561278e57600160a060020a03808e166000908152600e60209081526040808320938d168352929052206005015461264d9082908863ffffffff612c4916565b945061265f848663ffffffff6128e016565b9350600260009054906101000a9004600160a060020a0316600160a060020a0316636b4f68658e8b8f6020015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156126db57600080fd5b5af115156126e857600080fd5b5050506040518051905015156126fd57600080fd5b600254600160a060020a0316630c91f2d08e8b88600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b151561276757600080fd5b5af1151561277457600080fd5b50505060405180519050151561278957600080fd5b612831565b600260009054906101000a9004600160a060020a0316600160a060020a0316639fdf96258e8b8f60200151600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b151561280f57600080fd5b5af1151561281c57600080fd5b50505060405180519050151561283157600080fd5b8960010199506125b5565b600254600160a060020a0316630c91f2d08e6101008f015187600060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b15156128ab57600080fd5b5af115156128b857600080fd5b5050506040518051905015156128cd57600080fd5b5060019c9b505050505050505050505050565b6000828211156128ec57fe5b50900390565b60008282018381101561290157fe5b8091505b5092915050565b60008083151561291f5760009150612905565b5082820282848281151561292f57fe5b041461290157fe5b600061294583836064612c49565b9392505050565b600080600061295a846120c0565b600b80549193509061297390600163ffffffff6128e016565b8154811061297d57fe5b600091825260209091200154600b8054600160a060020a0390921692508291849081106129a657fe5b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790559183168152600c90915260409020829055600b80546129ee9060016128e0565b815481106129f857fe5b60009182526020909120018054600160a060020a0319169055600b54612a2590600163ffffffff6128e016565b611a36600b82612c7d565b700100000000000000000000000000000000680100000000000000006401000000006201000061010060106004600260001989019081041790810417908104179081041790810417908104179081041790810417600101906000906040517ff8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd81527ff5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe60208201527ff6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a827252361660408201527fc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff60608201527ff7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e60808201527fe39ed557db96902cd38ed14fad815115c786af479b7e8324736353433727170760a08201527fc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d236242260660c08201527f753a6d1b65325d0c552a4d1345224105391a310b29122104190a11030902010060e082015261010081016040527e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff7f01000000000000000000000000000000000000000000000000000000000000008082870204818160ff038501510495507f8000000000000000000000000000000000000000000000000000000000000000851161010002860195505050505050919050565b6000612c5e612c58858561290c565b83612c66565b949350505050565b6000808284811515612c7457fe5b04949350505050565b815481835581811511612ca157600083815260209020612ca1918101908301612cb8565b505050565b60206040519081016040526000815290565b611dea91905b808211156111075760008155600101612cbe5600a165627a7a72305820ff2d27cc1146b9eb2b7159a53e32446ccdd19e7134daecbbd9cd4b6a2f66228e0029a165627a7a7230582057da3b07316a23d32dc10159cc008bb7246e03e4bad5f4e7a5d590cfe3419ec30029", + "deployedBytecode": "0x6060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301a08a8b811461009d5780630b00de8d146100db5780631884c51714610114578063215bd3031461013957806368c197dd1461016d57806369bee8a11461018c578063d440c6f3146101bd578063deff41c1146101dc578063f2fde38b146101ef575b600080fd5b34156100a857600080fd5b6100bf600160a060020a0360043516602435610210565b604051600160a060020a03909116815260200160405180910390f35b34156100e657600080fd5b610100600160a060020a0360043581169060243516610238565b604051901515815260200160405180910390f35b341561011f57600080fd5b610100600160a060020a03600435811690602435166102b8565b341561014457600080fd5b6100bf602460048035828101929101359035604435606435600160a060020a036084351661033c565b341561017857600080fd5b610100600160a060020a03600435166103e7565b341561019757600080fd5b6101ab600160a060020a0360043516610405565b60405190815260200160405180910390f35b34156101c857600080fd5b6100bf600160a060020a0360043516610420565b34156101e757600080fd5b6100bf61043e565b34156101fa57600080fd5b61020e600160a060020a036004351661044d565b005b600160a060020a03918216600090815260036020908152604080832093835292905220541690565b6000805433600160a060020a0390811691161461025457600080fd5b600160a060020a0382811660009081526001602052604090205481169084161461027d57600080fd5b50600160a060020a03166000908152600160208190526040909120805473ffffffffffffffffffffffffffffffffffffffff19169055919050565b6000805433600160a060020a039081169116146102d457600080fd5b600160a060020a0382811660009081526001602052604090205416156102f957600080fd5b50600160a060020a039081166000908152600160208190526040909120805473ffffffffffffffffffffffffffffffffffffffff19169390921692909217905590565b60008054819033600160a060020a0390811691161461035a57600080fd5b33888888888888610369610591565b600160a060020a038089168252604082018690526060820185905260808201849052821660a082015260c06020820181815290820187905260e08201888880828437820191505098505050505050505050604051809103906000f08015156103d057600080fd5b90506103dc32826104e8565b979650505050505050565b600160a060020a031660009081526004602052604090205460ff1690565b600160a060020a031660009081526002602052604090205490565b600160a060020a039081166000908152600160205260409020541690565b600054600160a060020a031681565b60005433600160a060020a0390811691161461046857600080fd5b600160a060020a038116151561047d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03821660009081526002602052604081205461051290600163ffffffff61057b16565b600160a060020a03938416600090815260026020908152604080832084905560038252808320938352928152828220805473ffffffffffffffffffffffffffffffffffffffff19169590961694851790955592835260049093525020805460ff19166001179055565b60008282018381101561058a57fe5b9392505050565b604051612fa9806105a2833901905600606060405234156200001057600080fd5b60405162002fa938038062002fa9833981016040528080519190602001805182019190602001805191906020018051919060200180519190602001805160008054600160a060020a03191633600160a060020a03908116919091179091559092508291508790811615156200008457600080fd5b60018054600160a060020a03928316600160a060020a0319918216811790925560028054909116909117905581161515620000be57600080fd5b60038054600160a060020a03928316600160a060020a03199182168117909255600480549091169091179055328116339091161415620000fd57600080fd5b6200011632640100000000620021c96200016682021704565b60058580516200012b929160200190620001f6565b5050601e6006556001600755600892909255600955600a555050600f8054600160a060020a03191633600160a060020a03161790556200029b565b60005433600160a060020a039081169116146200018257600080fd5b600160a060020a03811615156200019857600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023957805160ff191683800117855562000269565b8280016001018555821562000269579182015b82811115620002695782518255916020019190600101906200024c565b50620002779291506200027b565b5090565b6200029891905b8082111562000277576000815560010162000282565b90565b612cfe80620002ab6000396000f3006060604052600436106101a85763ffffffff60e060020a600035041663031ee1c881146101ad57806306021e7e146101f05780630c6e29e3146102e7578063126eac43146102fa57806316ebf77d1461036e5780631f1e7406146103905780632b8fd18a146103fe5780633ec6a4c41461043057806340f036051461044f57806341cb01ad1461047457806345b99d28146104935780635a628525146104a65780636ab6936a146104c85780637919233f146104db5780637bd220bb146104fd5780637c60988514610522578063835436b41461058a57806387639c68146105a957806389869163146105bc5780638d7db2f7146105db578063900b7b6214610665578063b32ca9c51461067b578063bb7fb08b1461068e578063c6c5b072146106b0578063c6ced32b146106c3578063cc6f06a3146106d6578063dc988b40146106e9578063deff41c114610714578063e2d36ef514610727578063e653ec6a1461073a578063ec1847b61461074d578063ef9cb4741461076c578063f20e56ec1461078d578063f2fde38b146107a0578063f4efa24c146107bf578063ff266d26146107de575b600080fd5b34156101b857600080fd5b6101de600160a060020a036004351660243560443560ff6064351660843560a4356107fd565b60405190815260200160405180910390f35b34156101fb57600080fd5b6102d360048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610b5b95505050505050565b604051901515815260200160405180910390f35b34156102f257600080fd5b6102d3610ffe565b341561030557600080fd5b61031f600160a060020a036004358116906024351661110b565b6040518087600481111561032f57fe5b60ff168152602081019690965250604080860194909452600160a060020a039092166060850152608084015260a083015260c090910191505180910390f35b341561037957600080fd5b6102d3600160a060020a0360043516602435611187565b341561039b57600080fd5b6103af600160a060020a0360043516611490565b60405197885260208801969096526040808801959095526060870193909352608086019190915260a085015260c0840152600160a060020a0390911660e0830152610100909101905180910390f35b341561040957600080fd5b6104146004356114dc565b604051600160a060020a03909116815260200160405180910390f35b341561043b57600080fd5b6101de600160a060020a0360043516611504565b341561045a57600080fd5b6102d3600160a060020a0360043581169060243516611522565b341561047f57600080fd5b6101de600160a060020a0360043516611562565b341561049e57600080fd5b6101de611574565b34156104b157600080fd5b6102d3600160a060020a0360043516602435611579565b34156104d357600080fd5b6101de611754565b34156104e657600080fd5b6102d3600160a060020a036004351660243561175a565b341561050857600080fd5b61031f600160a060020a036004358116906024351661198a565b341561052d57600080fd5b6102d360048035600160a060020a031690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a031692506119d8915050565b341561059557600080fd5b6102d3600160a060020a0360043516611a41565b34156105b457600080fd5b6101de611b21565b34156105c757600080fd5b6102d3600160a060020a0360043516611b27565b34156105e657600080fd5b6105ee611cc4565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561062a578082015183820152602001610612565b50505050905090810190601f1680156106575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561067057600080fd5b610414600435611d62565b341561068657600080fd5b610414611d8e565b341561069957600080fd5b610414600160a060020a0360043516602435611d9d565b34156106bb57600080fd5b6101de611de0565b34156106ce57600080fd5b6101de611de6565b34156106e157600080fd5b6101de611ded565b34156106f457600080fd5b6102d3600160a060020a0360043581169060243581169060443516611df3565b341561071f57600080fd5b610414611fe6565b341561073257600080fd5b6101de611ff5565b341561074557600080fd5b6102d3611ffb565b341561075857600080fd5b6101de600160a060020a03600435166120c0565b341561077757600080fd5b61078b600435602435604435606435612110565b005b341561079857600080fd5b6101de6121c4565b34156107ab57600080fd5b61078b600160a060020a03600435166121c9565b34156107ca57600080fd5b6103af600160a060020a0360043516612257565b34156107e957600080fd5b6102d3600160a060020a03600435166122a9565b600160a060020a0386166000908152600d602052604081206005810154829042111561082857600080fd5b600189600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561086757600080fd5b5af1151561087457600080fd5b50505060405180519050600481111561088957fe5b1461089357600080fd5b50600160a060020a038089166000908152600e60209081526040808320339094168352929052208715156108c657600080fd5b8615156108d257600080fd5b6003810154600160a060020a0316156109a157600188886040517f19457468657265756d205369676e6564204d6573736167653a0a3634000000008152601c810192909252603c820152605c0160405180910390208787876040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af1151561097c57600080fd5b5050602060405103516003820154600160a060020a039081169116146109a157600080fd5b6001815460ff1660048111156109b357fe5b146109bd57600080fd5b805460ff1916600290811782556001820189905580820188905554600160a060020a0316638c0f8e113360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610a2557600080fd5b5af11515610a3257600080fd5b505050604051805160048301555060078201805460018101610a548382612c7d565b5060009182526020909120018054600160a060020a03191633600160a060020a03818116929092179092556002546001850154911691638981d077918c919060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610ae257600080fd5b5af11515610aef57600080fd5b505050604051805190501515610b0457600080fd5b33600160a060020a031689600160a060020a03167f1593a9a000265660fd299c9f8c9bbacfeb4d428861542e6c44b68615324225d48a60405190815260200160405180910390a35060010154979650505050505050565b60008054819033600160a060020a03908116911614610b7957600080fd5b50600160a060020a0385166000908152600d602052604090206005810154421115610ba357600080fd5b42816003015411158015610bbb575060008160040154115b80610bcd575080600601548160040154145b1515610bd857600080fd5b610cb48682610120604051908101604052908160008201548152602001600182015481526020016002820154600019166000191681526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201805480602002602001604051908101604052809291908181526020018280548015610c9157602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610c73575b505050918352505060089190910154600160a060020a031660209091015261246b565b1515610cbf57600080fd5b600254600160a060020a031663b6b57ebd878787876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610d43578082015183820152602001610d2b565b50505050905090810190601f168015610d705780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610da6578082015183820152602001610d8e565b50505050905090810190601f168015610dd35780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610e09578082015183820152602001610df1565b50505050905090810190601f168015610e365780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610e5957600080fd5b5af11515610e6657600080fd5b505050604051805190501515610e7b57600080fd5b85600160a060020a03167f4bfecaabd22e1b95e9aa9eb161b19f645b3460e7533d5e0f6349faf8dc0a724486868660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610eee578082015183820152602001610ed6565b50505050905090810190601f168015610f1b5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610f51578082015183820152602001610f39565b50505050905090810190601f168015610f7e5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610fb4578082015183820152602001610f9c565b50505050905090810190601f168015610fe15780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250600195945050505050565b6002546000908190600160a060020a031663b218cf153360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561105357600080fd5b5af1151561106057600080fd5b50505060405180519050151561107557600080fd5b600b8054600181016110878382612c7d565b60009283526020909220018054600160a060020a03191633600160a060020a031617905590506110b88160016128e0565b600160a060020a0333166000818152600c60205260409081902092909255907f67799bb3ec4a3491a0c1c4e6d02ec99927df7ba7fa268c216672c0c5ecc1e8f8905160405180910390a2600191505b5090565b60008060008060008060006111208989611522565b151561112b57600080fd5b50505050600160a060020a039485166000908152600e602090815260408083209688168352959052939093208054600182015460028301546003840154600485015460059095015460ff90941699929891975016945091925090565b6000805481908190819033600160a060020a039081169116146111a957600080fd5b600160a060020a0386166000908152600d6020526040902060058101549093504211156111d557600080fd5b85600160a060020a0316632d4d671f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561121257600080fd5b5af1151561121f57600080fd5b50505060405180519050151561123457600080fd5b60006006840181905591505b6007830154821015611300576007830180548390811061125c57fe5b6000918252602080832090910154600160a060020a038981168452600e8352604080852091909216808552925290912060010154909150851480156112d457506002600160a060020a038088166000908152600e602090815260408083209386168352929052205460ff1660048111156112d257fe5b145b156112f55760068301546112ef90600163ffffffff6128f216565b60068401555b816001019150611240565b60068301546000901161131257600080fd5b6002808401869055805460045461144292429261143692600160a060020a0391821691631f87172691811690634cfddcfb908e1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561137957600080fd5b5af1151561138657600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156113c657600080fd5b5af115156113d357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561141357600080fd5b5af1151561142057600080fd5b505050604051805191905063ffffffff61290c16565b9063ffffffff6128f216565b6003840155600160a060020a0386167fa1b9f527f9799a46d54103401c99dc62f3744afe1d095a1c53620758dc38b2868660405190815260200160405180910390a250600195945050505050565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600890970154959694959394929391929091600160a060020a031688565b600b8054829081106114ea57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03166000908152600d602052604090206007015490565b600080600160a060020a038085166000908152600e602090815260408083209387168352929052205460ff16600481111561155957fe5b14159392505050565b600c6020526000908152604090205481565b600a81565b600160a060020a0382166000908152600d60205260408120600581015482904211156115a457600080fd5b50600160a060020a038085166000908152600e6020908152604080832033909416835292905220600285600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561160a57600080fd5b5af1151561161757600080fd5b50505060405180519050600481111561162c57fe5b1461163657600080fd5b600382015442901161164757600080fd5b6002815460ff16600481111561165957fe5b1461166357600080fd5b600282015460018201541461167757600080fd5b8360405190815260200160405190819003902060018201541461169957600080fd5b33604051600160a060020a03919091166c01000000000000000000000000028152601401604051809103902084186040519081526020016040519081900390206002820154146116e857600080fd5b805460ff1916600317815560048201546117039060016128f2565b6004830155600160a060020a033381169086167f4f5df7005a83b6f11e90ead1268eb534656169a5034e8d239c763471294be3d58660405190815260200160405180910390a3506001949350505050565b60095481565b60015460009081908190819033600160a060020a0390811691161461177e57600080fd5b600454600160a060020a0316634cfddcfb8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156117c657600080fd5b5af115156117d357600080fd5b50505060405180516002549094506118349150429061143690600a90600160a060020a0316631f8717268860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561141357600080fd5b600160a060020a038088166000908152600d60205260409081902060045493955093509116906338c4090b9087905160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561189657600080fd5b5af115156118a357600080fd5b5050506040518051825550600454600160a060020a03166355d66c3e8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156118f657600080fd5b5af1151561190357600080fd5b5050506040518051600883018054600160a060020a031916600160a060020a039290921691909117905550600654815461193c91612937565b600182015560058101829055600160a060020a0386167f9c081174ce28e85a62530b1102b0df58428b8da5027e81fbb4984aa1dc03310760405160405180910390a250600195945050505050565b600e60209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460059095015460ff9094169492939192600160a060020a039091169186565b60008054819033600160a060020a039081169116146119f657600080fd5b5060005b8351811015611a3657611a2385858381518110611a1357fe5b9060200190602002015185611df3565b1515611a2e57600080fd5b6001016119fa565b506001949350505050565b6000805433600160a060020a03908116911614611a5d57600080fd5b600254600160a060020a031663835436b48360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611aad57600080fd5b5af11515611aba57600080fd5b505050604051805190501515611acf57600080fd5b611ad88261294c565b1515611ae357600080fd5b81600160a060020a03167fb22288215ec8cbd28148d7ffa053c6e6e23c62b58d0eb71a6387b59fad33a01960405160405180910390a2506001919050565b60075481565b60015460009081908190819033600160a060020a03908116911614611b4b57600080fd5b600160a060020a0385166000908152600d6020526040902060058101549093504211611b7657600080fd5b600091505b6007830154821015611c835760078301805483908110611b9757fe5b600091825260209091200154600160a060020a031690506001600160a060020a038087166000908152600e602090815260408083209386168352929052205460ff166004811115611be457fe5b14611c78576002546001840154600160a060020a0390911690636b4f6865908790849060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611c5657600080fd5b5af11515611c6357600080fd5b505050604051805190501515611c7857600080fd5b816001019150611b7b565b84600160a060020a03167f8d8d47a5d5034ce9c01a2308543fdaa83d60863e4b735b7d57361987cdc8ed9460405160405180910390a2506001949350505050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d5a5780601f10611d2f57610100808354040283529160200191611d5a565b820191906000526020600020905b815481529060010190602001808311611d3d57829003601f168201915b505050505081565b6000600b82815481101515611d7357fe5b600091825260209091200154600160a060020a031692915050565b600f54600160a060020a031681565b600160a060020a0382166000908152600d60205260408120600701805483908110611dc457fe5b600091825260209091200154600160a060020a03169392505050565b60065481565b600b545b90565b600a5481565b60008054819081908190819033600160a060020a03908116911614611e1757600080fd5b600188600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611e5657600080fd5b5af11515611e6357600080fd5b505050604051805190506004811115611e7857fe5b14611e8257600080fd5b600160a060020a038089166000818152600e60209081526040808320948c168352938152838220928252600d90529190912060058101549195509350421115611eca57600080fd5b600254600160a060020a031663f69f190c8860405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b1515611f1957600080fd5b5af11515611f2657600080fd5b50505060405180519060200180519193509091505030600160a060020a0390811690831614611f5457600080fd5b6000845460ff166004811115611f6657fe5b14611f7057600080fd5b835460ff19166001178455600384018054600160a060020a03888116600160a060020a0319909216919091179091558781169089167f9cade22a92ceb705fefd1c03e9ac4dbbf787cd493ec63a9f2b078cbc859c06298360405190815260200160405180910390a3506001979650505050505050565b600054600160a060020a031681565b60085481565b600254600090600160a060020a0316631708d7253360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561204e57600080fd5b5af1151561205b57600080fd5b50505060405180519050151561207057600080fd5b6120793361294c565b151561208457600080fd5b33600160a060020a03167fd08d61a9c25ada3385d23554bae10e5d15c9518d4bfd27571c190558f7030f6e60405160405180910390a250600190565b600160a060020a0381166000818152600c6020526040812054600b805492939192839081106120eb57fe5b600091825260209091200154600160a060020a03161461210a57600080fd5b92915050565b60005433600160a060020a0390811691161461212b57600080fd5b7f52bb55d3097463659f724f9b420d259719787a8563b48eb82368680999bfea07600654856007548660095487600a5488604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a160648311156121b057600080fd5b600693909355600791909155600955600a55565b600281565b60005433600160a060020a039081169116146121e457600080fd5b600160a060020a03811615156121f957600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b600160a060020a039081166000908152600d6020526040902080546001820154600283015460038401546004850154600586015460068701546008909701549598949793969295919490939190911690565b6000805481908190819033600160a060020a039081169116146122cb57600080fd5b600160a060020a0385166000908152600d6020526040902060058101549093504211156122f757600080fd5b4283600301541115801561230d57506004830154155b151561231857600080fd5b84600160a060020a0316631a514d976040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561235557600080fd5b5af1151561236257600080fd5b50505060405180519050151561237757600080fd5b600091505b6007830154821015612415576007830180548390811061239857fe5b60009182526020808320909101546002860154600160a060020a038981168552600e84526040808620919093168086529352922060010154909250141561240a57600160a060020a038581166000908152600e60209081526040808320938516835292905220805460ff191660041790555b81600101915061237c565b600060068401819055600284018190556003840155600160a060020a0385167f631055693b4cbe13143279bc507432c42de858b6d04b3ba4e1ff3d2c88a7e52b60405160405180910390a2506001949350505050565b60008060008060008060008061247f612ca6565b6000808b5193508b60e001519250600099505b82518a101561257b57828a815181106124a757fe5b90602001906020020151600160a060020a03808f166000908152600e6020908152604080832093851683529290522090995091506003825460ff1660048111156124ed57fe5b1415612558576003820154600160a060020a0316151561250e576001612511565b60035b60ff16975061253561253089846004015461290c90919063ffffffff16565b612a30565b600101965061254a868863ffffffff6128f216565b600583018890559550612570565b61256d8c60200151859063ffffffff6128f216565b93505b896001019950612492565b6000861161258857600080fd5b6125ae6125a160075460646128e090919063ffffffff16565b859063ffffffff61293716565b9050600099505b82518a101561283c57828a815181106125ca57fe5b9060200190602002015198506003600160a060020a03808f166000908152600e60209081526040808320938e168352929052205460ff16600481111561260c57fe5b141561278e57600160a060020a03808e166000908152600e60209081526040808320938d168352929052206005015461264d9082908863ffffffff612c4916565b945061265f848663ffffffff6128e016565b9350600260009054906101000a9004600160a060020a0316600160a060020a0316636b4f68658e8b8f6020015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156126db57600080fd5b5af115156126e857600080fd5b5050506040518051905015156126fd57600080fd5b600254600160a060020a0316630c91f2d08e8b88600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b151561276757600080fd5b5af1151561277457600080fd5b50505060405180519050151561278957600080fd5b612831565b600260009054906101000a9004600160a060020a0316600160a060020a0316639fdf96258e8b8f60200151600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b151561280f57600080fd5b5af1151561281c57600080fd5b50505060405180519050151561283157600080fd5b8960010199506125b5565b600254600160a060020a0316630c91f2d08e6101008f015187600060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b15156128ab57600080fd5b5af115156128b857600080fd5b5050506040518051905015156128cd57600080fd5b5060019c9b505050505050505050505050565b6000828211156128ec57fe5b50900390565b60008282018381101561290157fe5b8091505b5092915050565b60008083151561291f5760009150612905565b5082820282848281151561292f57fe5b041461290157fe5b600061294583836064612c49565b9392505050565b600080600061295a846120c0565b600b80549193509061297390600163ffffffff6128e016565b8154811061297d57fe5b600091825260209091200154600b8054600160a060020a0390921692508291849081106129a657fe5b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790559183168152600c90915260409020829055600b80546129ee9060016128e0565b815481106129f857fe5b60009182526020909120018054600160a060020a0319169055600b54612a2590600163ffffffff6128e016565b611a36600b82612c7d565b700100000000000000000000000000000000680100000000000000006401000000006201000061010060106004600260001989019081041790810417908104179081041790810417908104179081041790810417600101906000906040517ff8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd81527ff5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe60208201527ff6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a827252361660408201527fc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff60608201527ff7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e60808201527fe39ed557db96902cd38ed14fad815115c786af479b7e8324736353433727170760a08201527fc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d236242260660c08201527f753a6d1b65325d0c552a4d1345224105391a310b29122104190a11030902010060e082015261010081016040527e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff7f01000000000000000000000000000000000000000000000000000000000000008082870204818160ff038501510495507f8000000000000000000000000000000000000000000000000000000000000000851161010002860195505050505050919050565b6000612c5e612c58858561290c565b83612c66565b949350505050565b6000808284811515612c7457fe5b04949350505050565b815481835581811511612ca157600083815260209020612ca1918101908301612cb8565b505050565b60206040519081016040526000815290565b611dea91905b808211156111075760008155600101612cbe5600a165627a7a72305820ff2d27cc1146b9eb2b7159a53e32446ccdd19e7134daecbbd9cd4b6a2f66228e0029a165627a7a7230582057da3b07316a23d32dc10159cc008bb7246e03e4bad5f4e7a5d590cfe3419ec30029", + "sourceMap": "107:2814:19:-;;;753:37;;;;;;;;637:7:14;:20;;-1:-1:-1;;;;;647:10:14;637:20;-1:-1:-1;;;;;;637:20:14;;;;;;107:2814:19;;;;;;", + "deployedSourceMap": "107:2814:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1073:143;;;;;;;;;;-1:-1:-1;;;;;1073:143:19;;;;;;;;;;-1:-1:-1;;;;;1073:143:19;;;;;;;;;;;;;;2656:263;;;;;;;;;;-1:-1:-1;;;;;2656:263:19;;;;;;;;;;;;;;;;;;;;;;;;;;;2330:323;;;;;;;;;;-1:-1:-1;;;;;2330:323:19;;;;;;;;;;1638:689;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1638:689:19;;;;;815:131;;;;;;;;;;-1:-1:-1;;;;;815:131:19;;;;;948:123;;;;;;;;;;-1:-1:-1;;;;;948:123:19;;;;;;;;;;;;;;;;;;;;1218:132;;;;;;;;;;-1:-1:-1;;;;;1218:132:19;;;;;238:22:14;;;;;;;;;;;;818:176;;;;;;;;;;-1:-1:-1;;;;;818:176:14;;;;;;;1073:143:19;-1:-1:-1;;;;;1170:34:19;;;1149:7;1170:34;;;:26;:34;;;;;;;;:42;;;;;;;;;;1073:143::o;2656:263::-;2779:17;472:7:14;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;2811:28:19;;;;;;;:19;:28;;;;;;;;:43;;;;2803:52;;;;;;-1:-1:-1;;;;;;2859:28:19;2898:1;2859:28;;;:19;:28;;;;;;;;:41;;-1:-1:-1;;2859:41:19;;;:19;2656:263;-1:-1:-1;2656:263:19:o;2330:323::-;2451:15;472:7:14;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;2545:28:19;;;2585:1;2545:28;;;:19;:28;;;;;;;:42;2537:51;;;;;;-1:-1:-1;;;;;;2592:28:19;;;;;;;:19;:28;;;;;;;;:42;;-1:-1:-1;;2592:42:19;;;;;;;;;;;:19;2330:323::o;1638:689::-;1896:25;472:7:14;;1896:25:19;;458:10:14;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;2077:10:19;2111:12;;2128:28;2161:31;2197;2233:19;2058:198;;:::i;:::-;-1:-1:-1;;;;;2058:198:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2034:222;;2260:39;2274:9;2285:13;2260;:39::i;:::-;2310:13;1638:689;-1:-1:-1;;;;;;;1638:689:19:o;815:131::-;-1:-1:-1;;;;;907:35:19;889:4;907:35;;;:22;:35;;;;;;;;;815:131::o;948:123::-;-1:-1:-1;;;;;1035:32:19;1014:7;1035:32;;;:24;:32;;;;;;;948:123::o;1218:132::-;-1:-1:-1;;;;;1318:28:19;;;1286:18;1318:28;;;:19;:28;;;;;;;;1218:132::o;238:22:14:-;;;-1:-1:-1;;;;;238:22:14;;:::o;818:176::-;472:7;;458:10;-1:-1:-1;;;;;458:21:14;;;472:7;;458:21;450:30;;;;;;-1:-1:-1;;;;;894:23:14;;;;886:32;;;;;;948:7;;-1:-1:-1;;;;;927:40:14;;;;948:7;927:40;;;;;;;;;;971:7;:19;;-1:-1:-1;;971:19:14;-1:-1:-1;;;;;971:19:14;;;;;;;;;;818:176::o;1353:282:19:-;-1:-1:-1;;;;;1437:32:19;;1427:7;1437:32;;;:24;:32;;;;;;:39;;1474:1;1437:39;:36;:39;:::i;:::-;-1:-1:-1;;;;;1480:34:19;;;;;;;:24;:34;;;;;;;;:44;;;1528:26;:34;;;;;:38;;;;;;;;;:53;;-1:-1:-1;;1528:53:19;;;;;;;;;;;1585:39;;;:22;:39;;;-1:-1:-1;1585:39:19;:46;;-1:-1:-1;;1585:46:19;-1:-1:-1;1585:46:19;;;1353:282::o;405:123:15:-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;405:123;-1:-1:-1;;;405:123:15:o;107:2814: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\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 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_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": [ + 6040 + ] + }, + "id": 6041, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5821, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:19" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", + "file": "./WorkerPool.sol", + "id": 5822, + "nodeType": "ImportDirective", + "scope": 6041, + "sourceUnit": 5820, + "src": "26:26:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 5823, + "nodeType": "ImportDirective", + "scope": 6041, + "sourceUnit": 3509, + "src": "53:25:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 5824, + "nodeType": "ImportDirective", + "scope": 6041, + "sourceUnit": 3686, + "src": "79:26:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 5825, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "133:9:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 5826, + "nodeType": "InheritanceSpecifier", + "src": "133:9:19" + } + ], + "contractDependencies": [ + 3508, + 5819 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6040, + "linearizedBaseContracts": [ + 6040, + 3508 + ], + "name": "WorkerPoolHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 5829, + "libraryName": { + "contractScope": null, + "id": 5827, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3685, + "src": "177:10:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3685", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "171:29:19", + "typeName": { + "id": 5828, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "192:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 5833, + "name": "m_workerAffectation", + "nodeType": "VariableDeclaration", + "scope": 6040, + "src": "250:67:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + }, + "typeName": { + "id": 5832, + "keyType": { + "id": 5830, + "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": 5831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "269:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5837, + "name": "m_workerPoolCountByOwner", + "nodeType": "VariableDeclaration", + "scope": 6040, + "src": "339:72:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 5836, + "keyType": { + "id": 5834, + "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": 5835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "358:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5843, + "name": "m_workerPoolByOwnerByIndex", + "nodeType": "VariableDeclaration", + "scope": 6040, + "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": 5842, + "keyType": { + "id": 5838, + "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": 5841, + "keyType": { + "id": 5839, + "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": 5840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "485:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5847, + "name": "m_workerPoolRegistered", + "nodeType": "VariableDeclaration", + "scope": 6040, + "src": "653:70:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 5846, + "keyType": { + "id": 5844, + "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": 5845, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "672:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 5850, + "nodeType": "Block", + "src": "786:4:19", + "statements": [] + }, + "documentation": "Constructor", + "id": 5851, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "WorkerPoolHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5848, + "nodeType": "ParameterList", + "parameters": [], + "src": "775:2:19" + }, + "payable": false, + "returnParameters": { + "id": 5849, + "nodeType": "ParameterList", + "parameters": [], + "src": "786:0:19" + }, + "scope": 6040, + "src": "753:37:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5862, + "nodeType": "Block", + "src": "896:50:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5858, + "name": "m_workerPoolRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5847, + "src": "907:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5860, + "indexExpression": { + "argumentTypes": null, + "id": 5859, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5853, + "src": "930:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "907:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5857, + "id": 5861, + "nodeType": "Return", + "src": "900:42:19" + } + ] + }, + "documentation": "Methods", + "id": 5863, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isWorkerPoolRegistered", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5854, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5853, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 5863, + "src": "847:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5852, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "847:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "846:21:19" + }, + "payable": false, + "returnParameters": { + "id": 5857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5856, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5863, + "src": "889:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5855, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "889:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "888:6:19" + }, + "scope": 6040, + "src": "815:131:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5874, + "nodeType": "Block", + "src": "1024:47:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5870, + "name": "m_workerPoolCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5837, + "src": "1035:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5872, + "indexExpression": { + "argumentTypes": null, + "id": 5871, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5865, + "src": "1060:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1035:32:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5869, + "id": 5873, + "nodeType": "Return", + "src": "1028:39:19" + } + ] + }, + "documentation": null, + "id": 5875, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerPoolsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5865, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 5875, + "src": "977:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "977:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "976:16:19" + }, + "payable": false, + "returnParameters": { + "id": 5869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5868, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5875, + "src": "1014:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5867, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1014:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1013:9:19" + }, + "scope": 6040, + "src": "948:123:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5890, + "nodeType": "Block", + "src": "1159:57:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5884, + "name": "m_workerPoolByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "1170:26:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 5886, + "indexExpression": { + "argumentTypes": null, + "id": 5885, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5877, + "src": "1197:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1170:34:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5888, + "indexExpression": { + "argumentTypes": null, + "id": 5887, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5879, + "src": "1205:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1170:42:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5883, + "id": 5889, + "nodeType": "Return", + "src": "1163:49:19" + } + ] + }, + "documentation": null, + "id": 5891, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5880, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5877, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 5891, + "src": "1096:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5876, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1096:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5879, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 5891, + "src": "1112:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5878, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1112:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1095:32:19" + }, + "payable": false, + "returnParameters": { + "id": 5883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5882, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5891, + "src": "1149:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5881, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1149:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1148:9:19" + }, + "scope": 6040, + "src": "1073:143:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5902, + "nodeType": "Block", + "src": "1307:43:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5898, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5833, + "src": "1318:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 5900, + "indexExpression": { + "argumentTypes": null, + "id": 5899, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5893, + "src": "1338:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1318:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5897, + "id": 5901, + "nodeType": "Return", + "src": "1311:35:19" + } + ] + }, + "documentation": null, + "id": 5903, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerAffectation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5894, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5893, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 5903, + "src": "1248:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5892, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1248:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1247:17:19" + }, + "payable": false, + "returnParameters": { + "id": 5897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5896, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 5903, + "src": "1286:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5895, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1286:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1285:20:19" + }, + "scope": 6040, + "src": "1218:132:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5939, + "nodeType": "Block", + "src": "1423:212:19", + "statements": [ + { + "assignments": [ + 5911 + ], + "declarations": [ + { + "constant": false, + "id": 5911, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5940, + "src": "1427:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5910, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1427:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5918, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 5916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1474: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": 5912, + "name": "m_workerPoolCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5837, + "src": "1437:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5914, + "indexExpression": { + "argumentTypes": null, + "id": 5913, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5905, + "src": "1462:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1437:32:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "1437: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": 5917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1437:39:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1427:49:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5919, + "name": "m_workerPoolCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5837, + "src": "1480:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5921, + "indexExpression": { + "argumentTypes": null, + "id": 5920, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5905, + "src": "1507:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1480:34:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5922, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5911, + "src": "1522:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1480:44:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5924, + "nodeType": "ExpressionStatement", + "src": "1480:44:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5925, + "name": "m_workerPoolByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "1528:26:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 5928, + "indexExpression": { + "argumentTypes": null, + "id": 5926, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5905, + "src": "1555:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1528:34:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5929, + "indexExpression": { + "argumentTypes": null, + "id": 5927, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5911, + "src": "1563:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1528:38:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5930, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5907, + "src": "1570:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1528:53:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5932, + "nodeType": "ExpressionStatement", + "src": "1528:53:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5933, + "name": "m_workerPoolRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5847, + "src": "1585:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5935, + "indexExpression": { + "argumentTypes": null, + "id": 5934, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5907, + "src": "1612:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1585:39:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1627:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1585:46:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5938, + "nodeType": "ExpressionStatement", + "src": "1585:46:19" + } + ] + }, + "documentation": null, + "id": 5940, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5908, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5905, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 5940, + "src": "1376:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5904, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1376:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5907, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 5940, + "src": "1392:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1392:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1375:37:19" + }, + "payable": false, + "returnParameters": { + "id": 5909, + "nodeType": "ParameterList", + "parameters": [], + "src": "1423:0:19" + }, + "scope": 6040, + "src": "1353:282:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5978, + "nodeType": "Block", + "src": "1924:403:19", + "statements": [ + { + "assignments": [ + 5958 + ], + "declarations": [ + { + "constant": false, + "id": 5958, + "name": "newWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "2034:21:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5957, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2034:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5969, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5961, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2077:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2077:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5963, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5942, + "src": "2111:12:19", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 5964, + "name": "_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5944, + "src": "2128:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5965, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5946, + "src": "2161:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5966, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5948, + "src": "2197:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5967, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5950, + "src": "2233: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": 5960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2058: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_$5819_$", + "typeString": "function (address,string memory,uint256,uint256,uint256,address) returns (contract WorkerPool)" + }, + "typeName": { + "contractScope": null, + "id": 5959, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5819, + "src": "2062:10:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + } + }, + "id": 5968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2058:198:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2034:222:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5971, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "2274:2:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 5972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2274:9:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5973, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5958, + "src": "2285:13:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5970, + "name": "addWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5940, + "src": "2260:13:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 5974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2260:39:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5975, + "nodeType": "ExpressionStatement", + "src": "2260:39:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5976, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5958, + "src": "2310:13:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5956, + "id": 5977, + "nodeType": "Return", + "src": "2303:20:19" + } + ] + }, + "documentation": null, + "id": 5979, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5953, + "modifierName": { + "argumentTypes": null, + "id": 5952, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "1855:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1855:9:19" + } + ], + "name": "createWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5942, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "1667:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 5941, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1667:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5944, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "1690:36:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5943, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1690:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5946, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "1730:39:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5945, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1730:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5948, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "1773:39:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5947, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1773:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5950, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "1816:27:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5949, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1816:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1663:181:19" + }, + "payable": false, + "returnParameters": { + "id": 5956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5955, + "name": "createdWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "1896:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5954, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1896:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1895:27:19" + }, + "scope": 6040, + "src": "1638:689:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 6008, + "nodeType": "Block", + "src": "2469:184:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5991, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5833, + "src": "2545:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 5993, + "indexExpression": { + "argumentTypes": null, + "id": 5992, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5983, + "src": "2565:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2545:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2585: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": 5994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2577:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2577:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2545:42:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5990, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2537:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2537:51:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5999, + "nodeType": "ExpressionStatement", + "src": "2537:51:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6000, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5833, + "src": "2592:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6002, + "indexExpression": { + "argumentTypes": null, + "id": 6001, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5983, + "src": "2612:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2592:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6003, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5981, + "src": "2623:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2592:42:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6005, + "nodeType": "ExpressionStatement", + "src": "2592:42:19" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2645:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5989, + "id": 6007, + "nodeType": "Return", + "src": "2638:11:19" + } + ] + }, + "documentation": null, + "id": 6009, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5986, + "modifierName": { + "argumentTypes": null, + "id": 5985, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "2410:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2410:9:19" + } + ], + "name": "registerWorkerAffectation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5981, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 6009, + "src": "2365:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5980, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2365:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5983, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 6009, + "src": "2386:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5982, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2386:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2364:38:19" + }, + "payable": false, + "returnParameters": { + "id": 5989, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5988, + "name": "subscribed", + "nodeType": "VariableDeclaration", + "scope": 6009, + "src": "2451:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5987, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2451:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2450:17:19" + }, + "scope": 6040, + "src": "2330:323:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6038, + "nodeType": "Block", + "src": "2799:120:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6021, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5833, + "src": "2811:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6023, + "indexExpression": { + "argumentTypes": null, + "id": 6022, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6013, + "src": "2831:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2811:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6024, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6011, + "src": "2843:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2811:43:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6020, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2803:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2803:52:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6027, + "nodeType": "ExpressionStatement", + "src": "2803:52:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6028, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5833, + "src": "2859:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6030, + "indexExpression": { + "argumentTypes": null, + "id": 6029, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6013, + "src": "2879:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2859:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2898: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": 6031, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2890:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6033, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2890:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2859:41:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6035, + "nodeType": "ExpressionStatement", + "src": "2859:41:19" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2911:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6019, + "id": 6037, + "nodeType": "Return", + "src": "2904:11:19" + } + ] + }, + "documentation": null, + "id": 6039, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6016, + "modifierName": { + "argumentTypes": null, + "id": 6015, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "2738:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2738:9:19" + } + ], + "name": "unregisterWorkerAffectation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6014, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6011, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 6039, + "src": "2693:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6010, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2693:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6013, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 6039, + "src": "2714:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6012, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2714:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2692:38:19" + }, + "payable": false, + "returnParameters": { + "id": 6019, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6018, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 6039, + "src": "2779:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6017, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2779:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2778:19:19" + }, + "scope": 6040, + "src": "2656:263:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6041, + "src": "107:2814:19" + } + ], + "src": "0:2922:19" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", + "exportedSymbols": { + "WorkerPoolHub": [ + 6040 + ] + }, + "id": 6041, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5821, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:19" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", + "file": "./WorkerPool.sol", + "id": 5822, + "nodeType": "ImportDirective", + "scope": 6041, + "sourceUnit": 5820, + "src": "26:26:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 5823, + "nodeType": "ImportDirective", + "scope": 6041, + "sourceUnit": 3509, + "src": "53:25:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 5824, + "nodeType": "ImportDirective", + "scope": 6041, + "sourceUnit": 3686, + "src": "79:26:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 5825, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3508, + "src": "133:9:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3508", + "typeString": "contract OwnableOZ" + } + }, + "id": 5826, + "nodeType": "InheritanceSpecifier", + "src": "133:9:19" + } + ], + "contractDependencies": [ + 3508, + 5819 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6040, + "linearizedBaseContracts": [ + 6040, + 3508 + ], + "name": "WorkerPoolHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 5829, + "libraryName": { + "contractScope": null, + "id": 5827, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3685, + "src": "177:10:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3685", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "171:29:19", + "typeName": { + "id": 5828, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "192:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 5833, + "name": "m_workerAffectation", + "nodeType": "VariableDeclaration", + "scope": 6040, + "src": "250:67:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + }, + "typeName": { + "id": 5832, + "keyType": { + "id": 5830, + "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": 5831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "269:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5837, + "name": "m_workerPoolCountByOwner", + "nodeType": "VariableDeclaration", + "scope": 6040, + "src": "339:72:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 5836, + "keyType": { + "id": 5834, + "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": 5835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "358:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5843, + "name": "m_workerPoolByOwnerByIndex", + "nodeType": "VariableDeclaration", + "scope": 6040, + "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": 5842, + "keyType": { + "id": 5838, + "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": 5841, + "keyType": { + "id": 5839, + "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": 5840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "485:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5847, + "name": "m_workerPoolRegistered", + "nodeType": "VariableDeclaration", + "scope": 6040, + "src": "653:70:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 5846, + "keyType": { + "id": 5844, + "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": 5845, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "672:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 5850, + "nodeType": "Block", + "src": "786:4:19", + "statements": [] + }, + "documentation": "Constructor", + "id": 5851, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "WorkerPoolHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5848, + "nodeType": "ParameterList", + "parameters": [], + "src": "775:2:19" + }, + "payable": false, + "returnParameters": { + "id": 5849, + "nodeType": "ParameterList", + "parameters": [], + "src": "786:0:19" + }, + "scope": 6040, + "src": "753:37:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5862, + "nodeType": "Block", + "src": "896:50:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5858, + "name": "m_workerPoolRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5847, + "src": "907:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5860, + "indexExpression": { + "argumentTypes": null, + "id": 5859, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5853, + "src": "930:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "907:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5857, + "id": 5861, + "nodeType": "Return", + "src": "900:42:19" + } + ] + }, + "documentation": "Methods", + "id": 5863, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isWorkerPoolRegistered", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5854, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5853, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 5863, + "src": "847:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5852, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "847:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "846:21:19" + }, + "payable": false, + "returnParameters": { + "id": 5857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5856, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5863, + "src": "889:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5855, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "889:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "888:6:19" + }, + "scope": 6040, + "src": "815:131:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5874, + "nodeType": "Block", + "src": "1024:47:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5870, + "name": "m_workerPoolCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5837, + "src": "1035:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5872, + "indexExpression": { + "argumentTypes": null, + "id": 5871, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5865, + "src": "1060:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1035:32:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5869, + "id": 5873, + "nodeType": "Return", + "src": "1028:39:19" + } + ] + }, + "documentation": null, + "id": 5875, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerPoolsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5865, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 5875, + "src": "977:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "977:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "976:16:19" + }, + "payable": false, + "returnParameters": { + "id": 5869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5868, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5875, + "src": "1014:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5867, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1014:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1013:9:19" + }, + "scope": 6040, + "src": "948:123:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5890, + "nodeType": "Block", + "src": "1159:57:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5884, + "name": "m_workerPoolByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "1170:26:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 5886, + "indexExpression": { + "argumentTypes": null, + "id": 5885, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5877, + "src": "1197:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1170:34:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5888, + "indexExpression": { + "argumentTypes": null, + "id": 5887, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5879, + "src": "1205:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1170:42:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5883, + "id": 5889, + "nodeType": "Return", + "src": "1163:49:19" + } + ] + }, + "documentation": null, + "id": 5891, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5880, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5877, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 5891, + "src": "1096:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5876, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1096:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5879, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 5891, + "src": "1112:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5878, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1112:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1095:32:19" + }, + "payable": false, + "returnParameters": { + "id": 5883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5882, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5891, + "src": "1149:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5881, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1149:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1148:9:19" + }, + "scope": 6040, + "src": "1073:143:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5902, + "nodeType": "Block", + "src": "1307:43:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5898, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5833, + "src": "1318:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 5900, + "indexExpression": { + "argumentTypes": null, + "id": 5899, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5893, + "src": "1338:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1318:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5897, + "id": 5901, + "nodeType": "Return", + "src": "1311:35:19" + } + ] + }, + "documentation": null, + "id": 5903, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerAffectation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5894, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5893, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 5903, + "src": "1248:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5892, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1248:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1247:17:19" + }, + "payable": false, + "returnParameters": { + "id": 5897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5896, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 5903, + "src": "1286:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5895, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1286:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1285:20:19" + }, + "scope": 6040, + "src": "1218:132:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5939, + "nodeType": "Block", + "src": "1423:212:19", + "statements": [ + { + "assignments": [ + 5911 + ], + "declarations": [ + { + "constant": false, + "id": 5911, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5940, + "src": "1427:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5910, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1427:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5918, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 5916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1474: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": 5912, + "name": "m_workerPoolCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5837, + "src": "1437:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5914, + "indexExpression": { + "argumentTypes": null, + "id": 5913, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5905, + "src": "1462:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1437:32:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "1437: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": 5917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1437:39:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1427:49:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5919, + "name": "m_workerPoolCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5837, + "src": "1480:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5921, + "indexExpression": { + "argumentTypes": null, + "id": 5920, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5905, + "src": "1507:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1480:34:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5922, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5911, + "src": "1522:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1480:44:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5924, + "nodeType": "ExpressionStatement", + "src": "1480:44:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5925, + "name": "m_workerPoolByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "1528:26:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 5928, + "indexExpression": { + "argumentTypes": null, + "id": 5926, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5905, + "src": "1555:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1528:34:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5929, + "indexExpression": { + "argumentTypes": null, + "id": 5927, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5911, + "src": "1563:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1528:38:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5930, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5907, + "src": "1570:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1528:53:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5932, + "nodeType": "ExpressionStatement", + "src": "1528:53:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5933, + "name": "m_workerPoolRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5847, + "src": "1585:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5935, + "indexExpression": { + "argumentTypes": null, + "id": 5934, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5907, + "src": "1612:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1585:39:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1627:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1585:46:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5938, + "nodeType": "ExpressionStatement", + "src": "1585:46:19" + } + ] + }, + "documentation": null, + "id": 5940, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5908, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5905, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 5940, + "src": "1376:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5904, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1376:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5907, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 5940, + "src": "1392:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1392:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1375:37:19" + }, + "payable": false, + "returnParameters": { + "id": 5909, + "nodeType": "ParameterList", + "parameters": [], + "src": "1423:0:19" + }, + "scope": 6040, + "src": "1353:282:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5978, + "nodeType": "Block", + "src": "1924:403:19", + "statements": [ + { + "assignments": [ + 5958 + ], + "declarations": [ + { + "constant": false, + "id": 5958, + "name": "newWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "2034:21:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5957, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2034:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5969, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5961, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "2077:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2077:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5963, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5942, + "src": "2111:12:19", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 5964, + "name": "_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5944, + "src": "2128:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5965, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5946, + "src": "2161:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5966, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5948, + "src": "2197:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5967, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5950, + "src": "2233: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": 5960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2058: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_$5819_$", + "typeString": "function (address,string memory,uint256,uint256,uint256,address) returns (contract WorkerPool)" + }, + "typeName": { + "contractScope": null, + "id": 5959, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5819, + "src": "2062:10:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + } + }, + "id": 5968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2058:198:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$5819", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2034:222:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5971, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "2274:2:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 5972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2274:9:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5973, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5958, + "src": "2285:13:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5970, + "name": "addWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5940, + "src": "2260:13:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 5974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2260:39:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5975, + "nodeType": "ExpressionStatement", + "src": "2260:39:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5976, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5958, + "src": "2310:13:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5956, + "id": 5977, + "nodeType": "Return", + "src": "2303:20:19" + } + ] + }, + "documentation": null, + "id": 5979, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5953, + "modifierName": { + "argumentTypes": null, + "id": 5952, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "1855:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1855:9:19" + } + ], + "name": "createWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5942, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "1667:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 5941, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1667:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5944, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "1690:36:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5943, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1690:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5946, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "1730:39:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5945, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1730:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5948, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "1773:39:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5947, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1773:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5950, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "1816:27:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5949, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1816:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1663:181:19" + }, + "payable": false, + "returnParameters": { + "id": 5956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5955, + "name": "createdWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "1896:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5954, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1896:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1895:27:19" + }, + "scope": 6040, + "src": "1638:689:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 6008, + "nodeType": "Block", + "src": "2469:184:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5991, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5833, + "src": "2545:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 5993, + "indexExpression": { + "argumentTypes": null, + "id": 5992, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5983, + "src": "2565:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2545:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2585: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": 5994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2577:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2577:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2545:42:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5990, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2537:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2537:51:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5999, + "nodeType": "ExpressionStatement", + "src": "2537:51:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6000, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5833, + "src": "2592:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6002, + "indexExpression": { + "argumentTypes": null, + "id": 6001, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5983, + "src": "2612:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2592:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6003, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5981, + "src": "2623:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2592:42:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6005, + "nodeType": "ExpressionStatement", + "src": "2592:42:19" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2645:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5989, + "id": 6007, + "nodeType": "Return", + "src": "2638:11:19" + } + ] + }, + "documentation": null, + "id": 6009, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5986, + "modifierName": { + "argumentTypes": null, + "id": 5985, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "2410:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2410:9:19" + } + ], + "name": "registerWorkerAffectation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5981, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 6009, + "src": "2365:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5980, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2365:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5983, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 6009, + "src": "2386:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5982, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2386:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2364:38:19" + }, + "payable": false, + "returnParameters": { + "id": 5989, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5988, + "name": "subscribed", + "nodeType": "VariableDeclaration", + "scope": 6009, + "src": "2451:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5987, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2451:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2450:17:19" + }, + "scope": 6040, + "src": "2330:323:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6038, + "nodeType": "Block", + "src": "2799:120:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6021, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5833, + "src": "2811:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6023, + "indexExpression": { + "argumentTypes": null, + "id": 6022, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6013, + "src": "2831:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2811:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6024, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6011, + "src": "2843:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2811:43:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6020, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "2803:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2803:52:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6027, + "nodeType": "ExpressionStatement", + "src": "2803:52:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6028, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5833, + "src": "2859:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6030, + "indexExpression": { + "argumentTypes": null, + "id": 6029, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6013, + "src": "2879:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2859:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2898: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": 6031, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2890:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6033, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2890:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2859:41:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6035, + "nodeType": "ExpressionStatement", + "src": "2859:41:19" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2911:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6019, + "id": 6037, + "nodeType": "Return", + "src": "2904:11:19" + } + ] + }, + "documentation": null, + "id": 6039, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6016, + "modifierName": { + "argumentTypes": null, + "id": 6015, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "2738:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2738:9:19" + } + ], + "name": "unregisterWorkerAffectation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6014, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6011, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 6039, + "src": "2693:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6010, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2693:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6013, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 6039, + "src": "2714:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6012, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2714:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2692:38:19" + }, + "payable": false, + "returnParameters": { + "id": 6019, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6018, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 6039, + "src": "2779:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6017, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2779:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2778:19:19" + }, + "scope": 6040, + "src": "2656:263:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6041, + "src": "107:2814:19" + } + ], + "src": "0:2922: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": "0x6fbb19d1e0c43a46bdf6b5087207b1ea1744dfb3", + "transactionHash": "0x78939933dd334948d1c91429fa27a8801cf74cbbeb39686a085e24d39ad27c97" + }, + "4": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x6875a88a10a21041e75265eb7be1b483bab4b638", + "transactionHash": "0xa04d7e2c0b3cea1c75d900a8f484387cc5e3056b3fcbec039258115fca1d6689" + }, + "42": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0xbd5bfa55237415d2bc4f8ccb310939d3bdad6674", + "transactionHash": "0xa6262fcc125be2711be50f163cb3f22b513048837ee39dd4ac4e8bff3eeb4287" + } + }, + "schemaVersion": "2.0.0", + "updatedAt": "2018-04-12T19:19:29.250Z" +} \ No newline at end of file diff --git a/contracts/IexecHub.sol b/contracts/IexecHub.sol index 90badab6..b6074bcd 100644 --- a/contracts/IexecHub.sol +++ b/contracts/IexecHub.sol @@ -68,12 +68,9 @@ contract IexecHub * Reputation for PoCo */ mapping(address => uint256) public m_scores; - IexecLib.ContributionHistory public m_contributionHistory; - /* event WorkOrderEmit */ event WorkOrderActivated(address woid, address indexed workerPool); - event WorkOrderRevealing(address woid, address indexed workerPool); event WorkOrderClaimed (address woid, address workerPool); event WorkOrderCompleted(address woid, address workerPool); @@ -99,32 +96,25 @@ contract IexecHub * Constructor */ function IexecHub( - address _tokenAddress, - address _workerPoolHubAddress, - address _appHubAddress, - address _datasetHubAddress ) public { - rlc = RLC(_tokenAddress); - tokenAddress = _tokenAddress; - - workerPoolHub = WorkerPoolHub(_workerPoolHubAddress); - appHub = AppHub (_appHubAddress ); - datasetHub = DatasetHub (_datasetHubAddress ); - marketplaceAddress = address(0); - m_categoriesCreator = address(0); - - m_contributionHistory.success = 0; - m_contributionHistory.failled = 0; } - function attachMarketplace(address _marketplaceAddress) public + + function attachContracts(address _tokenAddress,address _marketplaceAddress, address _workerPoolHubAddress, address _appHubAddress, address _datasetHubAddress) public { - require(marketplaceAddress == address(0)); + require(tokenAddress == address(0)); + tokenAddress = _tokenAddress; + rlc = RLC(_tokenAddress); + marketplaceAddress = _marketplaceAddress; - marketplace = Marketplace(_marketplaceAddress); + marketplace = Marketplace(_marketplaceAddress); + + workerPoolHub = WorkerPoolHub(_workerPoolHubAddress); + appHub = AppHub (_appHubAddress ); + datasetHub = DatasetHub (_datasetHubAddress ); } function setCategoriesCreator(address _categoriesCreator) public @@ -270,23 +260,6 @@ contract IexecHub /** * WorkOrder life cycle */ - function startRevealingPhase(address _woid) public returns (bool) - { - WorkOrder workorder = WorkOrder(_woid); - require(workorder.m_workerpool() == msg.sender); - workorder.reveal(); // revert on error - emit WorkOrderRevealing(_woid, msg.sender); // msg.sender is workorder.m_workerpool() - return true; - } - - function reActivate(address _woid) public returns (bool) - { - WorkOrder workorder = WorkOrder(_woid); - require(workorder.m_workerpool() == msg.sender); - workorder.reactivate(); // revert on error - emit WorkOrderActivated(_woid, workorder.m_workerpool()); - return true; - } function claimFailedConsensus(address _woid) public returns (bool) { @@ -503,7 +476,6 @@ contract IexecHub // ------------------------------------------------------------------------ if (_reputation) { - m_contributionHistory.success = m_contributionHistory.success.add(1); m_scores[_worker] = m_scores[_worker].add(1); emit AccurateContribution(_woid, _worker); } @@ -516,7 +488,6 @@ contract IexecHub // ------------------------------------------------------------------------ if (_reputation) { - m_contributionHistory.failled = m_contributionHistory.failled.add(1); m_scores[_worker] = m_scores[_worker].sub(m_scores[_worker].min(SCORE_UNITARY_SLASH)); emit FaultyContribution(_woid, _worker); } diff --git a/contracts/WorkOrder.sol b/contracts/WorkOrder.sol index 584b3d3f..5b941386 100644 --- a/contracts/WorkOrder.sol +++ b/contracts/WorkOrder.sol @@ -6,6 +6,12 @@ contract WorkOrder { + event WorkOrderActivated(); + event WorkOrderReActivated(); + event WorkOrderRevealing(); + event WorkOrderClaimed (); + event WorkOrderCompleted(); + /** * Members */ @@ -65,24 +71,32 @@ contract WorkOrder // needed for the scheduler to authorize api token access on this m_beneficiary address in case _requester is a smart contract. } - - function reveal() public onlyIexecHub + 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 reactivate() public onlyIexecHub - { - require(m_status == IexecLib.WorkOrderStatusEnum.REVEALING); - m_status = IexecLib.WorkOrderStatusEnum.ACTIVE; - } function setResult(string _stdout, string _stderr, string _uri) public onlyIexecHub { @@ -101,6 +115,7 @@ contract WorkOrder _uri )); } + emit WorkOrderCompleted(); } } diff --git a/contracts/WorkerPool.sol b/contracts/WorkerPool.sol index fe9c6d93..8115b494 100644 --- a/contracts/WorkerPool.sol +++ b/contracts/WorkerPool.sol @@ -50,6 +50,8 @@ contract WorkerPool is OwnableOZ, IexecHubAccessor, MarketplaceAccessor 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); @@ -58,6 +60,7 @@ contract WorkerPool is OwnableOZ, IexecHubAccessor, MarketplaceAccessor 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); @@ -257,6 +260,7 @@ contract WorkerPool is OwnableOZ, IexecHubAccessor, MarketplaceAccessor require(iexecHubInterface.unlockForWork(_woid, w, consensus.stakeAmount)); } } + emit WorkOrderClaimed(_woid); return true; } @@ -320,7 +324,7 @@ contract WorkerPool is OwnableOZ, IexecHubAccessor, MarketplaceAccessor { IexecLib.Consensus storage consensus = m_consensus[_woid]; require(now <= consensus.consensusTimout); - require(iexecHubInterface.startRevealingPhase(_woid)); + require(WorkOrder(_woid).startRevealingPhase()); consensus.winnerCount = 0; for (uint256 i = 0; i { aDatasetHubInstance = instance; console.log("DatasetHub deployed at address: " + instance.address); - return deployer.deploy(IexecHub, aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address); + return deployer.deploy(IexecHub); }) .then(() => IexecHub.deployed()) .then(instance => { @@ -83,10 +82,11 @@ module.exports = function(deployer) { .then(instance => { aMarketplaceInstance = instance; console.log("Marketplace deployed at address: " + instance.address); - return aIexecHub.attachMarketplace(instance.address); + return aIexecHub.attachContracts(aRLCInstance.address,aMarketplaceInstance.address,aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address); + }) .then(() => { - console.log("attach Marketplace to IexecHub done"); + console.log("attach Contracts to IexecHub done"); return aIexecHub.setCategoriesCreator(creator); }) .then(() => { @@ -117,7 +117,8 @@ module.exports = function(deployer) { //rinkeby = '0xf1e6ad3a7ef0c86c915f0fedf80ed851809bea90' //ropsten = '0x7314dc4d7794b5e7894212ca1556ae8e3de58621' //mainnet = '0x607F4C5BB672230e8672085532f7e901544a7375' - +*/ +/* module.exports = function(deployer) { let aRLCInstance; let aWorkerPoolHubInstance; @@ -125,8 +126,8 @@ module.exports = function(deployer) { let aDatasetHubInstance; let aIexecHub; let aMarketplaceInstance; - let creator; - aRLCInstance='0xc57538846ec405ea25deb00e0f9b29a432d53507'; + let creator ='0xcd7CcF952E0482ca41b46c6BBAd3A1852faD69dC'; + aRLCInstance='0x7314dc4d7794b5e7894212ca1556ae8e3de58621'; return deployer.deploy(WorkerPoolHub) .then(() => WorkerPoolHub.deployed()) @@ -145,7 +146,7 @@ module.exports = function(deployer) { .then(instance => { aDatasetHubInstance = instance; console.log("DatasetHub deployed at address: " + instance.address); - return deployer.deploy(IexecHub, aRLCInstance, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address); + return deployer.deploy(IexecHub); }) .then(() => IexecHub.deployed()) .then(instance => { @@ -169,10 +170,10 @@ module.exports = function(deployer) { .then(instance => { aMarketplaceInstance = instance; console.log("Marketplace deployed at address: " + instance.address); - return aIexecHub.attachMarketplace(instance.address); + return aIexecHub.attachContracts(aRLCInstance,aMarketplaceInstance.address,aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address); }) .then(() => { - console.log("attach Marketplace to IexecHub done"); + console.log("attach Contracts to IexecHub done"); return aIexecHub.setCategoriesCreator(creator); }) .then(() => { @@ -193,6 +194,6 @@ module.exports = function(deployer) { }) .then(m_categoriesCount => console.log("m_categoriesCount is now: "+m_categoriesCount)) ; -}; -**/ +}; +*/ diff --git a/package.json b/package.json index 23fab372..4d365a7c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iexec-poco", - "version": "1.0.0", + "version": "1.0.9", "description": "", "main": "truffle.js", "scripts": { diff --git a/test/00_base.js b/test/00_base.js index c8ce38bb..21453a09 100644 --- a/test/00_base.js +++ b/test/00_base.js @@ -128,7 +128,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new({ from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -158,7 +158,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/01_workerPoolCreation.js b/test/01_workerPoolCreation.js index bba6eb19..bdb66419 100644 --- a/test/01_workerPoolCreation.js +++ b/test/01_workerPoolCreation.js @@ -124,7 +124,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -154,7 +154,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/02_workerPoolSubscription.js b/test/02_workerPoolSubscription.js index ed053ce6..a5215358 100644 --- a/test/02_workerPoolSubscription.js +++ b/test/02_workerPoolSubscription.js @@ -131,7 +131,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -161,7 +161,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/03_appCreation.js b/test/03_appCreation.js index 3dd8123a..1592d9c1 100644 --- a/test/03_appCreation.js +++ b/test/03_appCreation.js @@ -127,7 +127,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -157,7 +157,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/04_createMarketOrderAsk.js b/test/04_createMarketOrderAsk.js index b51bae31..07b0ae14 100644 --- a/test/04_createMarketOrderAsk.js +++ b/test/04_createMarketOrderAsk.js @@ -139,7 +139,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -169,7 +169,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/05_buyForWorkOrder.js b/test/05_buyForWorkOrder.js index 0141a3e3..078a326e 100644 --- a/test/05_buyForWorkOrder.js +++ b/test/05_buyForWorkOrder.js @@ -138,7 +138,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -168,7 +168,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/06_allowWorkerToContribute.js b/test/06_allowWorkerToContribute.js index 0c630b93..caea3b99 100644 --- a/test/06_allowWorkerToContribute.js +++ b/test/06_allowWorkerToContribute.js @@ -139,7 +139,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -169,7 +169,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/07_workerContribute.js b/test/07_workerContribute.js index cb48537d..7babcf11 100644 --- a/test/07_workerContribute.js +++ b/test/07_workerContribute.js @@ -139,7 +139,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -170,7 +170,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/07_workerContribute.sgx.js b/test/07_workerContribute.sgx.js index a9702e1e..aa272fb6 100644 --- a/test/07_workerContribute.sgx.js +++ b/test/07_workerContribute.sgx.js @@ -140,7 +140,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -171,7 +171,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/08_revealConsensus.js b/test/08_revealConsensus.js index db219d25..35804dcd 100644 --- a/test/08_revealConsensus.js +++ b/test/08_revealConsensus.js @@ -140,7 +140,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -170,7 +170,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/09_revealContribution.js b/test/09_revealContribution.js index 499257a5..8d8667d9 100644 --- a/test/09_revealContribution.js +++ b/test/09_revealContribution.js @@ -140,7 +140,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -170,7 +170,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/10_finalizeWork.js b/test/10_finalizeWork.js index 2cbb0f5a..f425a7f0 100644 --- a/test/10_finalizeWork.js +++ b/test/10_finalizeWork.js @@ -139,7 +139,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -169,7 +169,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/10_finalizeWork.sgx.js b/test/10_finalizeWork.sgx.js index 911522d0..110fad51 100644 --- a/test/10_finalizeWork.sgx.js +++ b/test/10_finalizeWork.sgx.js @@ -140,7 +140,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -170,7 +170,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/App/App.js b/test/byFunctions/App/App.js index 9407f8b6..42d65490 100644 --- a/test/byFunctions/App/App.js +++ b/test/byFunctions/App/App.js @@ -154,7 +154,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -184,7 +184,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/Dataset/Dataset.js b/test/byFunctions/Dataset/Dataset.js index 29f7a571..6eca5131 100644 --- a/test/byFunctions/Dataset/Dataset.js +++ b/test/byFunctions/Dataset/Dataset.js @@ -154,7 +154,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -184,7 +184,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/IexecAPI/buyForWorkOrder.js b/test/byFunctions/IexecAPI/buyForWorkOrder.js index 8eccf6a8..fb0989d2 100644 --- a/test/byFunctions/IexecAPI/buyForWorkOrder.js +++ b/test/byFunctions/IexecAPI/buyForWorkOrder.js @@ -139,7 +139,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -169,7 +169,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/IexecAPI/workOrderCallback.js b/test/byFunctions/IexecAPI/workOrderCallback.js index 71833acc..7368f90f 100644 --- a/test/byFunctions/IexecAPI/workOrderCallback.js +++ b/test/byFunctions/IexecAPI/workOrderCallback.js @@ -166,7 +166,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -196,7 +196,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/IexecHub/attachMarketplace.js b/test/byFunctions/IexecHub/attachMarketplace.js index ae7da32e..f9746501 100644 --- a/test/byFunctions/IexecHub/attachMarketplace.js +++ b/test/byFunctions/IexecHub/attachMarketplace.js @@ -128,7 +128,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -161,7 +161,7 @@ contract('IexecHub', function(accounts) { it("attachMarketplace_01 : it should be possible to attachMarketplace to IexecHub", async function() { - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator, gas : constants.AMOUNT_GAS_PROVIDED }); @@ -170,14 +170,14 @@ contract('IexecHub', function(accounts) { assert.strictEqual(marketplaceAddressCall, aMarketplaceInstance.address, "check marketplaceAddress in aIexecHubInstance"); }); - it("attachMarketplace_02 : it must not be possible to attachMarketplace to IexecHub twice", async function() { - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + it("attachMarketplace_02 : it must not be possible to attachContracts to IexecHub twice", async function() { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator, gas : constants.AMOUNT_GAS_PROVIDED }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); await Extensions.expectedExceptionPromise(() => { - return aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + return aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator, gas : constants.AMOUNT_GAS_PROVIDED }); diff --git a/test/byFunctions/IexecHub/buyForWorkOrder.js b/test/byFunctions/IexecHub/buyForWorkOrder.js index 8b0f9564..f9caeae3 100644 --- a/test/byFunctions/IexecHub/buyForWorkOrder.js +++ b/test/byFunctions/IexecHub/buyForWorkOrder.js @@ -138,7 +138,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -168,7 +168,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/IexecHub/createApp.js b/test/byFunctions/IexecHub/createApp.js index e96bbcf2..f5fb8b32 100644 --- a/test/byFunctions/IexecHub/createApp.js +++ b/test/byFunctions/IexecHub/createApp.js @@ -154,7 +154,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -184,7 +184,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/IexecHub/createCategory.js b/test/byFunctions/IexecHub/createCategory.js index de0c841a..57b73cff 100644 --- a/test/byFunctions/IexecHub/createCategory.js +++ b/test/byFunctions/IexecHub/createCategory.js @@ -162,7 +162,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -192,7 +192,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/IexecHub/createDataset.js b/test/byFunctions/IexecHub/createDataset.js index c8ca2226..be3aadcf 100644 --- a/test/byFunctions/IexecHub/createDataset.js +++ b/test/byFunctions/IexecHub/createDataset.js @@ -154,7 +154,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -184,7 +184,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/IexecHub/createWorkerPool.js b/test/byFunctions/IexecHub/createWorkerPool.js index 8e17a873..e223564a 100644 --- a/test/byFunctions/IexecHub/createWorkerPool.js +++ b/test/byFunctions/IexecHub/createWorkerPool.js @@ -153,7 +153,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -183,7 +183,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/IexecHub/existingCategory.js b/test/byFunctions/IexecHub/existingCategory.js index 7362bb0b..79b5bdb1 100644 --- a/test/byFunctions/IexecHub/existingCategory.js +++ b/test/byFunctions/IexecHub/existingCategory.js @@ -162,7 +162,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -192,7 +192,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/IexecHub/getCategory.js b/test/byFunctions/IexecHub/getCategory.js index 8b8a1390..bf659a73 100644 --- a/test/byFunctions/IexecHub/getCategory.js +++ b/test/byFunctions/IexecHub/getCategory.js @@ -162,7 +162,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -192,7 +192,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/IexecHub/getCategoryWorkClockTimeRef.js b/test/byFunctions/IexecHub/getCategoryWorkClockTimeRef.js index 6d414590..e472fbcc 100644 --- a/test/byFunctions/IexecHub/getCategoryWorkClockTimeRef.js +++ b/test/byFunctions/IexecHub/getCategoryWorkClockTimeRef.js @@ -162,7 +162,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -192,7 +192,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/IexecHub/internalChecks.js b/test/byFunctions/IexecHub/internalChecks.js index a93ed95c..4ad12342 100644 --- a/test/byFunctions/IexecHub/internalChecks.js +++ b/test/byFunctions/IexecHub/internalChecks.js @@ -128,7 +128,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); diff --git a/test/byFunctions/IexecHub/setCategoriesCreator.js b/test/byFunctions/IexecHub/setCategoriesCreator.js index 56cc37d9..3f221365 100644 --- a/test/byFunctions/IexecHub/setCategoriesCreator.js +++ b/test/byFunctions/IexecHub/setCategoriesCreator.js @@ -161,7 +161,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); diff --git a/test/byFunctions/IexecHub/withdraw.js b/test/byFunctions/IexecHub/withdraw.js index 1648a7e1..96e2c65c 100644 --- a/test/byFunctions/IexecHub/withdraw.js +++ b/test/byFunctions/IexecHub/withdraw.js @@ -138,7 +138,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -168,7 +168,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/Marketplace/closeMarketOrder.js b/test/byFunctions/Marketplace/closeMarketOrder.js index 4e325332..d857d4b4 100644 --- a/test/byFunctions/Marketplace/closeMarketOrder.js +++ b/test/byFunctions/Marketplace/closeMarketOrder.js @@ -166,7 +166,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -196,7 +196,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/Marketplace/consumeMarketOrderAsk.js b/test/byFunctions/Marketplace/consumeMarketOrderAsk.js index 4ba651ba..465d4987 100644 --- a/test/byFunctions/Marketplace/consumeMarketOrderAsk.js +++ b/test/byFunctions/Marketplace/consumeMarketOrderAsk.js @@ -165,7 +165,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -195,7 +195,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/Marketplace/createMarketOrder.js b/test/byFunctions/Marketplace/createMarketOrder.js index 3ad4c905..44505730 100644 --- a/test/byFunctions/Marketplace/createMarketOrder.js +++ b/test/byFunctions/Marketplace/createMarketOrder.js @@ -166,7 +166,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -196,7 +196,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/Marketplace/getMarketOrder.js b/test/byFunctions/Marketplace/getMarketOrder.js index 1cc5a00d..9d5a0590 100644 --- a/test/byFunctions/Marketplace/getMarketOrder.js +++ b/test/byFunctions/Marketplace/getMarketOrder.js @@ -166,7 +166,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -196,7 +196,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/Marketplace/getMarketOrderCategory.js b/test/byFunctions/Marketplace/getMarketOrderCategory.js index 6af1f5d3..481b9021 100644 --- a/test/byFunctions/Marketplace/getMarketOrderCategory.js +++ b/test/byFunctions/Marketplace/getMarketOrderCategory.js @@ -166,7 +166,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -196,7 +196,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/Marketplace/getMarketOrderTrust.js b/test/byFunctions/Marketplace/getMarketOrderTrust.js index d990a5a1..0e736bf5 100644 --- a/test/byFunctions/Marketplace/getMarketOrderTrust.js +++ b/test/byFunctions/Marketplace/getMarketOrderTrust.js @@ -166,7 +166,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -196,7 +196,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkOrder/WorkOrder.js b/test/byFunctions/WorkOrder/WorkOrder.js index deb27495..9cc405d4 100644 --- a/test/byFunctions/WorkOrder/WorkOrder.js +++ b/test/byFunctions/WorkOrder/WorkOrder.js @@ -138,7 +138,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -168,7 +168,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPool/WorkerPool.js b/test/byFunctions/WorkerPool/WorkerPool.js index 944192c2..f5c2cdf6 100644 --- a/test/byFunctions/WorkerPool/WorkerPool.js +++ b/test/byFunctions/WorkerPool/WorkerPool.js @@ -153,7 +153,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -183,7 +183,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPool/allowWorkerToContribute.js b/test/byFunctions/WorkerPool/allowWorkerToContribute.js index b236a7df..fde9c85a 100644 --- a/test/byFunctions/WorkerPool/allowWorkerToContribute.js +++ b/test/byFunctions/WorkerPool/allowWorkerToContribute.js @@ -138,7 +138,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -168,7 +168,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPool/allowWorkersToContribute.js b/test/byFunctions/WorkerPool/allowWorkersToContribute.js index 9afe7026..6e86c0b2 100644 --- a/test/byFunctions/WorkerPool/allowWorkersToContribute.js +++ b/test/byFunctions/WorkerPool/allowWorkersToContribute.js @@ -168,7 +168,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -198,7 +198,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPool/changeWorkerPoolPolicy.js b/test/byFunctions/WorkerPool/changeWorkerPoolPolicy.js index cfaec5b3..05e0e9aa 100644 --- a/test/byFunctions/WorkerPool/changeWorkerPoolPolicy.js +++ b/test/byFunctions/WorkerPool/changeWorkerPoolPolicy.js @@ -138,7 +138,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -168,7 +168,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPool/claimFailedConsensus.js b/test/byFunctions/WorkerPool/claimFailedConsensus.js index 5cb5e268..6f8375a0 100644 --- a/test/byFunctions/WorkerPool/claimFailedConsensus.js +++ b/test/byFunctions/WorkerPool/claimFailedConsensus.js @@ -170,7 +170,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -200,7 +200,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); @@ -373,10 +373,15 @@ contract('IexecHub', function(accounts) { m_statusCall = await aWorkOrderInstance.m_status.call(); assert.strictEqual(m_statusCall.toNumber(), constants.WorkOrderStatusEnum.CLAIMED, "check m_status CLAIMED"); + await Extensions.getEventsPromise(aWorkOrderInstance.WorkOrderClaimed({}), 1, constants.EVENT_WAIT_TIMEOUT); + events = await Extensions.getEventsPromise(aIexecHubInstance.WorkOrderClaimed({}), 1, constants.EVENT_WAIT_TIMEOUT); assert.strictEqual(events[0].args.woid, woid, "woid check"); assert.strictEqual(events[0].args.workerPool, aWorkerPoolInstance.address, "the aWorkerPoolInstance address check"); + events = await Extensions.getEventsPromise(aWorkerPoolInstance.WorkOrderClaimed({}), 1, constants.EVENT_WAIT_TIMEOUT); + assert.strictEqual(events[0].args.woid, woid, "woid check"); + }); diff --git a/test/byFunctions/WorkerPool/contribute.js b/test/byFunctions/WorkerPool/contribute.js index 2046eee0..bc6ea5ef 100644 --- a/test/byFunctions/WorkerPool/contribute.js +++ b/test/byFunctions/WorkerPool/contribute.js @@ -168,7 +168,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -198,7 +198,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPool/emitWorkOrder.js b/test/byFunctions/WorkerPool/emitWorkOrder.js index 5a3a6794..e6328a83 100644 --- a/test/byFunctions/WorkerPool/emitWorkOrder.js +++ b/test/byFunctions/WorkerPool/emitWorkOrder.js @@ -138,7 +138,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -168,7 +168,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPool/evictWorker.js b/test/byFunctions/WorkerPool/evictWorker.js index f4d6c0a5..c6467ae5 100644 --- a/test/byFunctions/WorkerPool/evictWorker.js +++ b/test/byFunctions/WorkerPool/evictWorker.js @@ -167,7 +167,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -197,7 +197,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPool/finalizeWork.js b/test/byFunctions/WorkerPool/finalizeWork.js index b8a83c37..adf631fb 100644 --- a/test/byFunctions/WorkerPool/finalizeWork.js +++ b/test/byFunctions/WorkerPool/finalizeWork.js @@ -170,7 +170,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -200,7 +200,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); @@ -441,6 +441,8 @@ contract('IexecHub', function(accounts) { m_statusCall = await aWorkOrderInstance.m_status.call(); assert.strictEqual(m_statusCall.toNumber(), constants.WorkOrderStatusEnum.COMPLETED, "check m_status COMPLETED"); + await Extensions.getEventsPromise(aWorkOrderInstance.WorkOrderCompleted({}), 1, constants.EVENT_WAIT_TIMEOUT); + aWorkOrderInstanceResult = await Promise.all([ aWorkOrderInstance.m_stdout.call(), aWorkOrderInstance.m_stderr.call(), @@ -1796,10 +1798,6 @@ contract('IexecHub', function(accounts) { assert.strictEqual(events[0].args.woid, woid, "check woid"); assert.strictEqual(events[0].args.worker, resourceProvider3, "check resourceProvider3 FaultyContribution"); - [success, failled] = await aIexecHubInstance.m_contributionHistory.call(); - assert.strictEqual(success.toNumber(), 2, "2 AccurateContribution"); - assert.strictEqual(failled.toNumber(), 1, "1 FaultyContribution"); - [workerPool, workerScore] = await aIexecHubInstance.getWorkerStatus.call(resourceProvider); assert.strictEqual(workerPool, workerPoolAddress, "check workerPool"); assert.strictEqual(workerScore.toNumber(), 1, " workerScore resourceProvider "); diff --git a/test/byFunctions/WorkerPool/reopen.js b/test/byFunctions/WorkerPool/reopen.js index f63d8fe1..4650dfe2 100644 --- a/test/byFunctions/WorkerPool/reopen.js +++ b/test/byFunctions/WorkerPool/reopen.js @@ -169,7 +169,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -199,7 +199,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); @@ -448,6 +448,8 @@ contract('IexecHub', function(accounts) { events = await Extensions.getEventsPromise(aWorkerPoolInstance.Reopen({}), 1, constants.EVENT_WAIT_TIMEOUT); assert.strictEqual(events[0].args.woid, woid, "woid check"); + await Extensions.getEventsPromise(aWorkOrderInstance.WorkOrderReActivated({}), 1, constants.EVENT_WAIT_TIMEOUT); + [status, resultHash, resultSign, enclaveChallenge, score, weight] = await aWorkerPoolInstance.getContribution.call(woid, resourceProvider); assert.strictEqual(status.toNumber(), constants.ContributionStatusEnum.REJECTED, "check constants.ContributionStatusEnum.REJECTED"); assert.strictEqual(resultHash, signed.hash, "check resultHash"); diff --git a/test/byFunctions/WorkerPool/reveal.js b/test/byFunctions/WorkerPool/reveal.js index 813a9d7f..a43847ac 100644 --- a/test/byFunctions/WorkerPool/reveal.js +++ b/test/byFunctions/WorkerPool/reveal.js @@ -169,7 +169,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -199,7 +199,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); @@ -411,6 +411,9 @@ contract('IexecHub', function(accounts) { assert.isTrue(consensusTimout.toNumber() > 0, "check consensusTimout > 0"); assert.strictEqual(winnerCount.toNumber(), 1, "check 1 winnerCount"); + m_statusCall = await aWorkOrderInstance.m_status.call(); + assert.strictEqual(m_statusCall.toNumber(), constants.WorkOrderStatusEnum.REVEALING, "check m_status REVEALING"); + }); diff --git a/test/byFunctions/WorkerPool/revealConsensus.js b/test/byFunctions/WorkerPool/revealConsensus.js index cb16c147..01766c54 100644 --- a/test/byFunctions/WorkerPool/revealConsensus.js +++ b/test/byFunctions/WorkerPool/revealConsensus.js @@ -169,7 +169,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -199,7 +199,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); @@ -373,6 +373,8 @@ contract('IexecHub', function(accounts) { m_statusCall = await aWorkOrderInstance.m_status.call(); assert.strictEqual(m_statusCall.toNumber(), constants.WorkOrderStatusEnum.REVEALING, "check m_status REVEALING"); + await Extensions.getEventsPromise(aWorkOrderInstance.WorkOrderRevealing({}), 1, constants.EVENT_WAIT_TIMEOUT); + [poolReward, stakeAmount, consensus, revealDate, revealCounter, consensusTimout, winnerCount] = await aWorkerPoolInstance.getConsensusDetails.call(woid, { from: iExecCloudUser, gas: constants.AMOUNT_GAS_PROVIDED diff --git a/test/byFunctions/WorkerPool/subscribeToPool.js b/test/byFunctions/WorkerPool/subscribeToPool.js index c93da0dd..247f89eb 100644 --- a/test/byFunctions/WorkerPool/subscribeToPool.js +++ b/test/byFunctions/WorkerPool/subscribeToPool.js @@ -167,7 +167,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -197,7 +197,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPool/unsubscribeFromPool.js b/test/byFunctions/WorkerPool/unsubscribeFromPool.js index d6297ad8..cfb2c15f 100644 --- a/test/byFunctions/WorkerPool/unsubscribeFromPool.js +++ b/test/byFunctions/WorkerPool/unsubscribeFromPool.js @@ -167,7 +167,7 @@ contract('IexecHub', function(accounts) { console.log("aDatasetHubInstance.address is "); console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -197,7 +197,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPoolHub/createWorkerPool.js b/test/byFunctions/WorkerPoolHub/createWorkerPool.js index 2b0996d6..9cf04d16 100644 --- a/test/byFunctions/WorkerPoolHub/createWorkerPool.js +++ b/test/byFunctions/WorkerPoolHub/createWorkerPool.js @@ -154,7 +154,7 @@ contract('IexecHub', function(accounts) { console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -166,7 +166,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPoolHub/getWorkerPool.js b/test/byFunctions/WorkerPoolHub/getWorkerPool.js index 8e68844b..2221fae8 100644 --- a/test/byFunctions/WorkerPoolHub/getWorkerPool.js +++ b/test/byFunctions/WorkerPoolHub/getWorkerPool.js @@ -154,7 +154,7 @@ contract('IexecHub', function(accounts) { console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -166,7 +166,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPoolHub/getWorkerPoolsCount.js b/test/byFunctions/WorkerPoolHub/getWorkerPoolsCount.js index 8da371b6..ffc85278 100644 --- a/test/byFunctions/WorkerPoolHub/getWorkerPoolsCount.js +++ b/test/byFunctions/WorkerPoolHub/getWorkerPoolsCount.js @@ -154,7 +154,7 @@ contract('IexecHub', function(accounts) { console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -166,7 +166,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/test/byFunctions/WorkerPoolHub/isWorkerPoolRegistered.js b/test/byFunctions/WorkerPoolHub/isWorkerPoolRegistered.js index 86620ce4..3707aca4 100644 --- a/test/byFunctions/WorkerPoolHub/isWorkerPoolRegistered.js +++ b/test/byFunctions/WorkerPoolHub/isWorkerPoolRegistered.js @@ -154,7 +154,7 @@ contract('IexecHub', function(accounts) { console.log(aDatasetHubInstance.address); - aIexecHubInstance = await IexecHub.new(aRLCInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address, { + aIexecHubInstance = await IexecHub.new( { from: marketplaceCreator }); console.log("aIexecHubInstance.address is "); @@ -166,7 +166,7 @@ contract('IexecHub', function(accounts) { console.log("aMarketplaceInstance.address is "); console.log(aMarketplaceInstance.address); - txMined = await aIexecHubInstance.attachMarketplace(aMarketplaceInstance.address, { + txMined = await aIexecHubInstance.attachContracts(aRLCInstance.address, aMarketplaceInstance.address, aWorkerPoolHubInstance.address, aAppHubInstance.address, aDatasetHubInstance.address,{ from: marketplaceCreator }); assert.isBelow(txMined.receipt.gasUsed, constants.AMOUNT_GAS_PROVIDED, "should not use all gas"); diff --git a/truffle-hdwallet.js b/truffle-hdwallet.js index f8dc4737..a9ca4a96 100644 --- a/truffle-hdwallet.js +++ b/truffle-hdwallet.js @@ -1,27 +1,201 @@ var HDWalletProvider = require("truffle-hdwallet-provider"); var mnemonic = "12 words"; - +//0xcd7CcF952E0482ca41b46c6BBAd3A1852faD69dC module.exports = { networks: { ropsten: { provider: new HDWalletProvider(mnemonic, "https://ropsten.infura.io/berv5GTB5cSdOJPPnqOq"), network_id: "3", - gas: 4400000, + gas: 4710000, gasPrice: 22000000000, + /* + Using network 'ropsten'. + + Running migration: 1_initial_migration.js + Deploying Migrations... + ... 0xd9228d595461f2b40484db0e82275a270ad6625f276bf202f8fc78666a4a28d0 + Migrations: 0x9a1eb11bcbc6cf50fda67519568bec2da3f8cad0 + Saving successful migration to network... + ... 0x0e1f3e5ac6bae9966fcfcd4078b8170f1c939718d4bf6d9b987a1be1fa69f7b8 + Saving artifacts... + Running migration: 2_deploy_contracts.js + Deploying WorkerPoolHub... + ... 0x78939933dd334948d1c91429fa27a8801cf74cbbeb39686a085e24d39ad27c97 + WorkerPoolHub: 0x6fbb19d1e0c43a46bdf6b5087207b1ea1744dfb3 + WorkerPoolHub deployed at address: 0x6fbb19d1e0c43a46bdf6b5087207b1ea1744dfb3 + Deploying AppHub... + ... 0xcda139edc12205fb09f60fd34faa3dacc82b4f7b8f1fdddec676566ae4194a4d + AppHub: 0x90c7154bc5e77a0ff535bd9ac1ecd9cc14718f08 + AppHub deployed at address: 0x90c7154bc5e77a0ff535bd9ac1ecd9cc14718f08 + Deploying DatasetHub... + ... 0x798b04d224257086038b2b1e70a239132ad699c2beadd529cb0a94d9a52d63d4 + DatasetHub: 0xdee768d9a781658503445cbe79e463bcf90538d5 + DatasetHub deployed at address: 0xdee768d9a781658503445cbe79e463bcf90538d5 + Deploying IexecHub... + ... 0x595fdb692ec5f39bc86f9fa3ef73de84f07d2bfe2fe73eb932e7500ce408726e + IexecHub: 0x12b92a17b1ca4bb10b861386446b8b2716e58c9b + IexecHub deployed at address: 0x12b92a17b1ca4bb10b861386446b8b2716e58c9b + ... 0x366ac6501b1571b0e62247f9fb65f6f5306d4a92312f69e6015c2612aab84295 + transferOwnership of WorkerPoolHub to IexecHub + ... 0xea2461d4d9d0ccf17decea86548e1e1ba7b30060ea709760c22135ce358f5438 + transferOwnership of AppHub to IexecHub + ... 0x2ed31318d8c9f3099cdf1de63624e2d9c2aa70894cabdccb0148a1fa16cad8f5 + transferOwnership of DatasetHub to IexecHub + Deploying Marketplace... + ... 0x5f28ec7d433c2f21c5e90cae68bded4051817c4a5a589e0e99bea11e98a582e9 + Marketplace: 0x9315a6ae9a9842bcb5ad8f5d43a4271d297088e2 + Marketplace deployed at address: 0x9315a6ae9a9842bcb5ad8f5d43a4271d297088e2 + ... 0xb71b2150962548f87fd03bda00b030770a9afb6300ffd7181c652f76f5f4bae9 + attach Contracts to IexecHub done + ... 0x11868d7b248d3b5713a3064270d5d123713ab9664fb913a8cb1c322114de7080 + setCategoriesCreator to 0xcd7CcF952E0482ca41b46c6BBAd3A1852faD69dC + create category : Mega + create category : MegaPlus + create category : Giga + create category : GigaPlus + create category : GigaGrande + create category : GigaMax + ... 0x167551da8b64bc99c905ffca13c925e130141f7f1fc55f49018d29a1b923037d + ... 0x5431ce9169dc43c2a9b5cdf6bdfdf50b8e521aeef1102fd57d6a3b8cc8cab97c + ... 0x9932fcba440f1dd4367f5a0cd067dece1ae4a86c509be553c4a92b02b0cd87a4 + ... 0xd1715be33c9bae078815c09b7c834ef7d1bc74dc2294b53f65864fd6495daa35 + ... 0x8256d14f854f571a5a59fbc266d489e40a3d7a350d3106b7d1ecaf3f4544c65b + ... 0x30bed86521f1f107a1cdd153089d9d4d31ce120749c152d113d799b90d580436 + m_categoriesCount is now: 6 + Saving successful migration to network... + ... 0x808191db79549f31415559d8f03d73cd52973a022b860eece1c52f17772f9988 + Saving artifacts... + + */ }, rinkeby: { provider: new HDWalletProvider(mnemonic, "https://rinkeby.infura.io/berv5GTB5cSdOJPPnqOq"), network_id: "4", - gas: 4400000, + gas: 4710000, gasPrice: 22000000000, + + /* + + Using network 'rinkeby'. + + Running migration: 1_initial_migration.js + Deploying Migrations... + ... 0x606911f71cd4985b547adeba3cc5097ab68ff2605bd520110730216e5defb724 + Migrations: 0x908ad2872339c6156afe3b38c9357c1ca89e67e8 + Saving successful migration to network... + ... 0xc4645b0ef4b6badbe9639afb89f751fcb2b36d5e07a21cbbef87ca045472b49a + Saving artifacts... + Running migration: 2_deploy_contracts.js + Deploying WorkerPoolHub... + ... 0xa04d7e2c0b3cea1c75d900a8f484387cc5e3056b3fcbec039258115fca1d6689 + WorkerPoolHub: 0x6875a88a10a21041e75265eb7be1b483bab4b638 + WorkerPoolHub deployed at address: 0x6875a88a10a21041e75265eb7be1b483bab4b638 + Deploying AppHub... + ... 0xed64122a00d94b5845f93c55faa8fa8c9a2d30ba153f2c996571bfb43fb4f139 + AppHub: 0x54adc857dfa34bbc50ee7105dd0d9cb57798d535 + AppHub deployed at address: 0x54adc857dfa34bbc50ee7105dd0d9cb57798d535 + Deploying DatasetHub... + ... 0xab09a56c148c9c32c3bceedf23083a3c90310ddeed2dc827186a47cf9de5c965 + DatasetHub: 0xd5eb98773f0b113f4691217e0a62bd520198eeb8 + DatasetHub deployed at address: 0xd5eb98773f0b113f4691217e0a62bd520198eeb8 + Deploying IexecHub... + ... 0x64564fd91ccb0fc964ff27123c4976b8c115f5053836642d912caaf98f1ce062 + IexecHub: 0x94769bf5ee101205886c9518130e3acd71510661 + IexecHub deployed at address: 0x94769bf5ee101205886c9518130e3acd71510661 + ... 0x76d9637a17ae1cafa10687f014faaf9fa165a4cf977e797bad3dc8e4131d3a10 + transferOwnership of WorkerPoolHub to IexecHub + ... 0xa160b88352119b52642a34a6b3a268e55f7e22fcfc574c6532869dba6914265f + transferOwnership of AppHub to IexecHub + ... 0x7124eb4089310109aa4be5b110662957b78a604ed044377a193c6c85a3163f4b + transferOwnership of DatasetHub to IexecHub + Deploying Marketplace... + ... 0xbca4b49df5c16c8ed2d4fccbbb57678e12a4e5b36f377244dbc6029ddf57d5e3 + Marketplace: 0x6d2ec2e6bc2f5d852ea1d7eca05802db00095556 + Marketplace deployed at address: 0x6d2ec2e6bc2f5d852ea1d7eca05802db00095556 + ... 0x81d3121ea6f96eadd07f624b812aac1c9df4e82dd998b04a4f146e68912654d6 + attach Contracts to IexecHub done + ... 0x1446ccd23b4d2d1c35cf8ec9d6c271c11c7e49b891d1bda0d7c8c89635fecd10 + setCategoriesCreator to 0xcd7CcF952E0482ca41b46c6BBAd3A1852faD69dC + create category : Mega + create category : MegaPlus + create category : Giga + create category : GigaPlus + create category : GigaGrande + create category : GigaMax + ... 0x28e9fbeb82f5026e55fd4a54e1d4d9d8c19e1e1e18c3b0640f3b32dff7b2f04d + ... 0xf297f8b55d944473381ff6992675673d99c2d688f6dc94da35cf3e2212cb8806 + ... 0xb1ca025351c1ed1aae083c1ef8652036a06bbfb42fb89d6bac5d3b0d9aa9d7d5 + ... 0x454988c38db44d8210caa2e9a2f72497ddc7f7004abf1fa635773cc4e796a423 + ... 0x68e3fa87f7fcf375068afabf826a6529f5d54e9924925d1260967711e7e23a76 + ... 0x74f8b03b7c1ad1c96d87682c74c065bde3c21dc5ae6b89cfdb367d766eff1281 + m_categoriesCount is now: 6 + Saving successful migration to network... + ... 0x730e0bd197c738f0ceff216ed6a7cd480ec465aed6a38a797567e474d9eb77ac + Saving artifacts... + + */ }, kovan: { provider: new HDWalletProvider(mnemonic, "https://kovan.infura.io/berv5GTB5cSdOJPPnqOq"), network_id: "42", - gas: 4400000, + gas: 4710000, gasPrice: 22000000000, + /* + + Using network 'kovan'. + + Running migration: 2_deploy_contracts.js + Deploying WorkerPoolHub... + ... 0xa6262fcc125be2711be50f163cb3f22b513048837ee39dd4ac4e8bff3eeb4287 + WorkerPoolHub: 0xbd5bfa55237415d2bc4f8ccb310939d3bdad6674 + WorkerPoolHub deployed at address: 0xbd5bfa55237415d2bc4f8ccb310939d3bdad6674 + Deploying AppHub... + ... 0x5cc72edfb03a3eb7bc9f2680ce7ddff73493ab029e607e43f18dc14974168fa9 + AppHub: 0xa496debd0690a217fcd5726f902e6944ff2e3b69 + AppHub deployed at address: 0xa496debd0690a217fcd5726f902e6944ff2e3b69 + Deploying DatasetHub... + ... 0xe1c0ff75681216cd0607ab69fd5c1fb36097de79ec0736ea05e4bf6ff5a47857 + DatasetHub: 0xf9a672e79e6aa6c95d3315085b069452e305a0e1 + DatasetHub deployed at address: 0xf9a672e79e6aa6c95d3315085b069452e305a0e1 + Deploying IexecHub... + ... 0xcd3ac795cfd3f40bbf2a85dde6d038818c3ed0f4803d1a0d2f35657e2bd17001 + IexecHub: 0x45cbd2d0e9a913f17669f226727b1849ff7bfcb7 + IexecHub deployed at address: 0x45cbd2d0e9a913f17669f226727b1849ff7bfcb7 + ... 0x8595ee165fe7ed61ccc5e86c87d6f4c8c33b95c69a495dbeaf82775513158237 + transferOwnership of WorkerPoolHub to IexecHub + ... 0x6de629d975f5cf1549fc57178854ca04e1a28f4e56f96ae5619b67d8354aa8b6 + transferOwnership of AppHub to IexecHub + ... 0x0df16c893f7bb807323463163753b71ba9fbdc53e1469a3451e4aab71570c89d + transferOwnership of DatasetHub to IexecHub + Deploying Marketplace... + ... 0x0973591b9634133172094a309011287803077d2c9ee9f0c59f41f4ba150f19a9 + Marketplace: 0x07e12c896a86c54ad0a068fca5f0d0cd9e02aba0 + Marketplace deployed at address: 0x07e12c896a86c54ad0a068fca5f0d0cd9e02aba0 + ... 0xa1ab3a88be5e82ef8faf22f4b3f82e4965ca558b8c906d047d5427b14fac76de + attach Contracts to IexecHub done + ... 0xc1b68af8ad5798ff5a9578a225a48efc77d592fd47509685143c316afadc58b0 + setCategoriesCreator to 0xcd7CcF952E0482ca41b46c6BBAd3A1852faD69dC + create category : Mega + ... 0x28ae3c798fca42fa7257c00603fe83f2dca1e2137d28ffde793b4e2d6403d21d + create category : MegaPlus + ... 0x26e5c7c6c2e439acb8374da8152ddc0775424c02f052f15a8725346ce665bee4 + create category : Giga + ... 0xbfc67c29b81ebbed899cf30d786cb66b5ef7c500b07e064edc4b282645ffe31c + create category : GigaPlus + ... 0x20b572c8eb1e66a90d7709101d932a5829cfd6903b3b4b329f017d2513a45494 + create category : GigaGrande + ... 0xee8a3176bd39f693487924573d27b2a8e25d87327917fc72117ad7989f3bfc83 + create category : GigaMax + ... 0x63f7dd20239298358bcc84176ea4fef357fccf0a9028f646e6e2d4eb4134f80a + m_categoriesCount is now: 6 + Saving successful migration to network... + ... 0x17a6a167be3f9e7f305ae6e1c0eef5d2ec03f94129d487f4ea6aeaf90e96ed8e + Saving artifacts... + */ + + },/* mainnet: { provider: new HDWalletProvider(mnemonic, "https://mainnet.infura.io/berv5GTB5cSdOJPPnqOq"), diff --git a/truffle.js b/truffle.js index 4d418f55..de84cde5 100644 --- a/truffle.js +++ b/truffle.js @@ -5,14 +5,14 @@ module.exports = { host: "iexec-geth-local", port: 8545, network_id: "*", // Match any network id, - gas: 44000000, + gas: 4710000, gasPrice: 22000000000, }, development: { host: "localhost", port: 8545, network_id: "*", // Match any network id, - gas: 5900000, + gas: 4710000, gasPrice: 22000000000, }, coverage: {